{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "97ae9d19",
   "metadata": {},
   "source": [
    "参考资料：<br>\n",
    "白话word2vec：https://zhuanlan.zhihu.com/p/81032021 <br>\n",
    "什么是词向量？https://blog.csdn.net/mawenqi0729/article/details/80698350 <br>\n",
    "官方参数解读：https://tedboy.github.io/nlps/generated/generated/gensim.models.Word2Vec.html#gensim.models.Word2Vec <br>\n",
    "为什么PCA：https://zhuanlan.zhihu.com/p/37810506 <br>\n",
    "https://blog.csdn.net/HLBoy_happy/article/details/77146012 <br>\n",
    "参数解读博客版：https://blog.csdn.net/xiaoQL520/article/details/102509477 <br>\n",
    "负采样：https://zhuanlan.zhihu.com/p/144146838 <br>\n",
    "更多资料：https://zhuanlan.zhihu.com/p/26306795 <br>\n",
    "https://mp.weixin.qq.com/s/j8JPMZSPoVT_hQswX5QVxA"
   ]
  },
  {
   "cell_type": "code",
   "id": "fc9aaf2c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-04-21T05:28:46.917890Z",
     "start_time": "2025-04-21T05:28:44.350706Z"
    }
   },
   "source": [
    "import jieba\n",
    "import re\n",
    "import numpy as np\n",
    "from sklearn.decomposition import PCA\n",
    "import gensim\n",
    "from gensim.models import Word2Vec\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib"
   ],
   "outputs": [],
   "execution_count": 5
  },
  {
   "cell_type": "markdown",
   "id": "320e8dbf",
   "metadata": {},
   "source": [
    "## 分词"
   ]
  },
  {
   "cell_type": "code",
   "id": "8bdcb9d7",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-04-21T05:28:54.845211Z",
     "start_time": "2025-04-21T05:28:49.985773Z"
    }
   },
   "source": [
    "f = open(\"sanguo.txt\", 'r',encoding='utf-8') #读入文本\n",
    "lines = []\n",
    "for line in f: #分别对每段分词\n",
    "    temp = jieba.lcut(line)  #结巴分词 精确模式\n",
    "    words = []\n",
    "    for i in temp:\n",
    "        #过滤掉所有的标点符号\n",
    "        i = re.sub(r\"[\\s+\\.\\!\\/_,$%^*(+\\\"\\'””《》]+|[+——！，。？、~@#￥%……&*（）：；‘]+\", \"\", i)\n",
    "        if len(i) > 0:\n",
    "            words.append(i)\n",
    "    if len(words) > 0:\n",
    "        lines.append(words)\n",
    "print(lines[0:5])#预览前5行分词结果"
   ],
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Building prefix dict from the default dictionary ...\n",
      "Loading model from cache C:\\Users\\14291\\AppData\\Local\\Temp\\jieba.cache\n",
      "Loading model cost 1.054 seconds.\n",
      "Prefix dict has been built successfully.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[['三国演义', '上卷'], ['罗贯中'], ['滚滚', '长江', '东', '逝水', '浪花', '淘尽', '英雄', '是非成败', '转头', '空', '青山', '依旧', '在', '几度', '夕阳红'], ['白发', '渔樵', '江渚上', '惯看', '秋月春风', '一壶', '浊酒', '喜相逢', '古今', '多少', '事', '都', '付笑谈', '中'], ['--', '调寄', '临江仙']]\n"
     ]
    }
   ],
   "execution_count": 6
  },
  {
   "cell_type": "markdown",
   "id": "9771fd02",
   "metadata": {},
   "source": [
    "## 模型训练 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "id": "0103a7d8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "孔明的词向量：\n",
      " [-0.28052813  0.26389143  1.3741382   0.5670586   1.1045824  -1.0340751\n",
      "  0.5989062   1.725876   -0.5697866   0.3285451   0.00793537  0.03969758\n",
      "  1.1798524  -1.1128042   1.5626785   0.8022254   1.558103   -0.07989526\n",
      " -1.6081852  -0.8791157 ]\n",
      "\n",
      "和孔明相关性最高的前20个词语：\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[('关公', 0.9550743699073792),\n",
       " ('先主', 0.9413766264915466),\n",
       " ('周瑜', 0.9311743378639221),\n",
       " ('孙权', 0.9282431602478027),\n",
       " ('玄德', 0.9265339374542236),\n",
       " ('云长', 0.9116875529289246),\n",
       " ('曹操', 0.906761884689331),\n",
       " ('袁绍', 0.8969143629074097),\n",
       " ('马超', 0.8895545601844788),\n",
       " ('吕布', 0.8826950192451477),\n",
       " ('姜维', 0.8807435631752014),\n",
       " ('孟获', 0.8776955604553223),\n",
       " ('司马懿', 0.8747521638870239),\n",
       " ('后主', 0.8736281394958496),\n",
       " ('钟会', 0.8607128262519836),\n",
       " ('成都', 0.8590068817138672),\n",
       " ('刘璋', 0.8542147874832153),\n",
       " ('鲁肃', 0.8506062030792236),\n",
       " ('刘表', 0.8479320406913757),\n",
       " ('荆州', 0.8449496626853943)]"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 调用Word2Vec训练\n",
    "# 参数：size: 词向量维度；window: 上下文的宽度，min_count为考虑计算的单词的最低词频阈值\n",
    "model = Word2Vec(lines,vector_size = 20, window = 2 , min_count = 3, epochs=7, negative=10,sg=1)\n",
    "print(\"孔明的词向量：\\n\",model.wv.get_vector('孔明'))\n",
    "print(\"\\n和孔明相关性最高的前20个词语：\")\n",
    "model.wv.most_similar('孔明', topn = 20)# 与孔明最相关的前20个词语"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd2d1d12",
   "metadata": {},
   "source": [
    "## 可视化 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "id": "f7430579",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将词向量投影到二维空间\n",
    "rawWordVec = []\n",
    "word2ind = {}\n",
    "for i, w in enumerate(model.wv.index_to_key): #index_to_key 序号,词语\n",
    "    rawWordVec.append(model.wv[w]) #词向量\n",
    "    word2ind[w] = i #{词语:序号}\n",
    "rawWordVec = np.array(rawWordVec)\n",
    "X_reduced = PCA(n_components=2).fit_transform(rawWordVec) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "id": "243e8569",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.38792312, -0.54152995, -0.01828705, ..., -2.4452198 ,\n",
       "        -2.7130158 , -3.235616  ],\n",
       "       [-0.23875876,  1.1614102 ,  1.2670172 , ..., -1.9309891 ,\n",
       "        -1.8250517 , -1.6271532 ],\n",
       "       [-0.0045519 ,  0.27930543, -0.54566294, ..., -2.121862  ,\n",
       "        -1.6498026 , -0.91657156],\n",
       "       ...,\n",
       "       [-0.02792994,  0.16719927, -0.02985814, ..., -0.27670178,\n",
       "        -0.36175802, -0.20433824],\n",
       "       [-0.08607367,  0.08994728, -0.06444101, ..., -0.21681541,\n",
       "        -0.24546817, -0.15814976],\n",
       "       [-0.0786759 ,  0.13400441, -0.04889284, ..., -0.19481666,\n",
       "        -0.34143034, -0.14162342]], dtype=float32)"
      ]
     },
     "execution_count": 160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rawWordVec #降维之前20维"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "id": "963970d8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.9448035 ,  4.0850177 ],\n",
       "       [ 1.8073775 ,  2.318491  ],\n",
       "       [ 1.8222729 ,  2.9826987 ],\n",
       "       ...,\n",
       "       [-0.48200932,  0.03144404],\n",
       "       [-0.7721189 , -0.01933354],\n",
       "       [-0.662262  ,  0.00484974]], dtype=float32)"
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_reduced #降维之后2维"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "id": "cce497b6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2kAAAI/CAYAAADtKJH4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACwUUlEQVR4nOzde1hU17k/8O8g98sgIiIyiogKBIkkojQkGm1MxKQkjWlsrWlj+rSmF5P2nKRN09M0bdOTNj2x/bUmbWN7Gs2JSXMjSWkjiSQatBgUI4oIiIjIICg3Ge4izu+P3bVcs9kzDDcd8Pt5Hh9hLnuvvWeA/c77rneZ7HY7iIiIiIiIyDN4XekBEBERERER0SUM0oiIiIiIiDwIgzQiIiIiIiIPwiCNiIiIiIjIgzBIIyIiIiIi8iAM0oiIiIiIiDyI95XY6eTJk+0zZ868ErsmIiIiIiK64g4cONBot9sjjO67IkHazJkzUVhYeCV2TUREREREdMWZTKZqZ/ex3JGIiIiIiMiDMEgjIiIiIiLyIAzSiIiIiIiIPAiDNCIiIiIiIg/CII2IiIiIiMiDMEgjIiIiIiLyIAzSiIiIiIiIPAiDNCIiIiIiIg/CII2IiIiIiMiDMEgjIiIiIiLyIAzSiIiIiIiIPAiDNCIiIiIiIg/CII2IiIiIiMiDMEgjIiIiIiLyIAzSiIiIiIiIPAiDNCIiIiIiIg/CII2IiIiIiMiDMEgjIiIiIiLyIAzSiIiIiIiIPAiDNCIiIiIiIg/CII2IiIiIiMiDMEgjIiIiIiLyIAzSiIiIiDyYzWa70kMgosuMQRoRERGRh7LZbMjLy2OgRnSVYZBGRERE5KHMZjOWLFkCs9l8pYdCRJcRgzQiIiIiD8YAjejqwyCNiIiIiIjIgzBIIyIiIiIi8iAM0oiIiIiIiDwIgzQiIiIiIiIPwiCNiIiIiIjIgzBIIyIiIiIi8iAM0oiIiIiIiDwIgzQiIiIiIiIPwiCNiIiIiIjIgzBIIyIiIiIi8iAM0oiIiIiIiDwIgzQiIiIiIiIPwiCNiIiIiIjIgzBIIyIiIiIi8iAM0oiIiIiIiDwIgzQiIiIiIiIPwiCNiIiIiIjIgzBIIyIiIiIi8iAM0oiIiMYYm812pYdARESjiEEaERHRGGKz2ZCXl8dAjYhoHBuxIM1kMk0wmUwHTSbTP0Zqm0REROTIbDZjyZIlMJvNV3ooREQ0SkYyk/ZdAKUjuD0iIiIywACNiGh8G5EgzWQyWQDcAeAvI7E9IiIiIiKiq9VIZdL+H4AfALg4QtsjIiIiIiK6Kg07SDOZTJ8DcNZutx8Y4HHrTSZToclkKmxoaBjubomIiIiIiMalkcik3QjgTpPJdBLA3wB81mQyvax/kN1u32y321PtdntqRETECOyWiIiIiIho/Bl2kGa32x+32+0Wu90+E8CXAHxkt9vvG/bIiIiIiIiIrkJcJ42IiIiIiMiDeI/kxux2+y4Au0Zym0RERERERFcTZtKIiIiIiIg8CIM0IiIiIiIiD8IgjYiIiIiIyIMwSCMiIiIiIvIgDNKIiIiIiIg8CIM0IiIiIiIiD8IgjYiIiIiIyIMwSCMiIiIiIvIgDNKIiIiIiIg8CIM0IiIiIiIiD8IgjYiIiIiIyIMwSCMiIiIiIvIgDNKIiIiIiIg8CIM0IiIiIiIiD8IgjYiIiIiIyIMwSCMiIiIiIvIgDNKIiIiIiIg8CIM0IiIiIiIiD8IgjYiIiGiMstlsV3oIRDQKGKQRERERjUE2mw15eXkM1IjGIQZpRERENC6N9+DFbDZjyZIlMJvNV3ooRDTCGKQRERHRuHO1ZJkYoBGNTwzSiIiIaNxhlomIxjIGaURERDQuMUAjorGKQRoREREREZEHYZBGRERERETkQRikEREREREReRAGaURERERERB6EQRoREREREZEHYZBGRERERETkQRikEREREREReRAGaURERDQsNpvtSg+BiGhcYZBGREREQ2az2ZCXl8dAjYhoBDFIIyIioiEzm81YsmQJzGbzlR4KEdG4wSCNiIiIhoUBGhHRyGKQRkRERERE5EEYpBEREREREXkQBmlEREREREQehEEaERERERGRB2GQRkRERERE5EEYpBEREREREXkQBmlERER0xXARbCKi/hikERER0RVhs9mQl5fHQI2ISIdBGhEREQ3aSARWZrMZS5Ys4WLYREQ6DNKIiIhoUEYyA8YAjYioPwZpRERENCjMgBERjS4GaURERDRoDNCIiEYPgzQiIqKrAJtzEBGNHQzSiIiIxjl2USQiGlsYpBEREY1znENGRDS2MEgjIiK6CjBAIyIaOxikEREREREReRAGaURERERERB6EQRoRERF5FDY4IaKrHYM0IiKiy4gBiGvsRElExCCNiIjosmEAMjB2oiQiYpBGRER02TAAcQ/PDxFd7RikERERXUYMQIiIaCAM0oiIiIiIiDwIgzQiIiLqh/PmiIiuHAZpRERE5MBVg5ORDt4YDBIR9ccgjYiIaAwbjSDHWYOTke5OyW6XRETGGKQRERGNUaMZ5Bg1OBnp7pTsdklEZIxBGhER0Rh1OYMcEQiO9L4YoBER9ccgjYiIyIMNlCW7XAEayxKJiC4fBmlEREQeyGazXdYGHq6wLJGI6PJikEZERORhRHAGwK0GHpcjYGOARkR0+TBIIyIi8jBq5mqgBh4sRSQiGn8YpBEREXmggTJX4n6WIjpisEpE4wGDNCIiojHucnZ39GTMKhLReMEgjYiI6Co0mEBGDX48OQBiVpGIxgsGaURERFeZwWacRPADYFQzVSOxXQZoRDQeMEgjIiK6ygwl4ySamIxWpoqlikRElzBIIyIiGgcGG9wMNdAarUwVSxWJiC5hkEZERDTGjZcsFAM0IiINgzQiIqIxjlkoIqLxhUEaERHROMAAjYho/GCQRkRERERE5EEYpBEREREREXkQBmlERERXkbHeXISI6GrAII2IiOgqMV66QBIRjXcM0oiIiK4S7AJJRDQ2MEgjIiK6ijBAIyLyfAzSiIiIiIiIPAiDNCIionFirMw1s1qtV3oIREQejUEaERGRhxhOkDVWmoJYrVZs3ryZgRoRkQsM0oiIiDzAcIOssdIUxGKxYP369bBYLFd6KEREHotBGhERkQcYiSDL0wM0gQEaEZFrDNKIiIg8xFgJsoiIaHQxSCMiIiIiIvIgDNKIiIjGOU9vJnK58DwQ0VjBII2IiGgMcjfgGCtdH0cbzwMRjSUM0oiIiK6QoQYMgwk4xkrXx9HG80BEYwmDNCIiostAH1ANJbMjHjvYgMPdx3lKlmm0xsEAjYjGCgZpREREo8woIBtsoKVuw2azjWjAIbbpCeWAnjIOuvz4mhNdwiCNiIholJnNZqSkpPQLrAYTaImgDsCIBjEiKALgEeWALEu8OjE4J3LEII2IiGiU2Ww2FBUVDfsC1Gw2DxjEDHYf6vY8JTDylHHQ5cPgnMgRgzQiIqJRNpwLUKOgy1WANpRsBC+MyRPwfUh0CYM0IiK6KlzpMqqhBmiDCbqYjSAiGh8YpBER0bg3Vue7uBN06Y+JARoR0djHII2IiMa9sZxhGihAMwo+x1owSkREjhikERHRVWEsBmiA64DLKPgcTNaQwRwRkWdikEZEROSh3Am4jNr6u5M1HG4JKAM8IqLRwyCNiIiuep4acAy1TNNsNgNnzzq9XyyGvSQ5GeaQkEGPa6zO8SMiGisYpBER0VXN0wMOpwFaTw863n7b+RM/+QT4yU/63awer/kf/wD+93+HNKYl8+aN2RJSIiJPxyCNiIiuamO1qYitpwdNf/oTGv/8Z2DTpv4PiIkBmpr63Ww2m3HzzJkwBwUB77wDTJoEHD8O9PUB777r9v7N2dnA3/8+jCMgIiJnGKQREdFVb0wEaI2NQH6+/NZsNsPvP/8TzR9+iL7/9/+0IAtA+759QE0NEBgITJ5suKmQ//ov4Le/1QK0v/4V+P73gZUrgV//2jCwM3T//cD772tfd3YChw5p22poGM5REhERAO8rPQAiIiJyw+TJwN/+pmW/nn4a8PZG5IoV6JsyBROeeAJ45hl0XHst+r77XfTcfjv8vvtdwGTSnvv3vwP/+hfQ0qIFc8eOAcXFQFAQcP488I1vAH/+M3DvvcA//qEFYKqiIm0bbW3aNv38AC8vLcj70Y+0x0yaBEREAGfOaP8TEdGQMUgjIiIaKzZsABYvBr7yFSA8HOc7OtB7+jQuHjgAr4kTEeTnh4sXLsDr6193fN4NNwBz5wJTp2qB2gMPaMHekSPAk08CH38M/PCH2u1Grr1WC8xmztQyZgsXArW1QHU1cPIk8NFHwMMPa9snIqJhG3aQZjKZpgN4CcBUABcBbLbb7b8b7naJiIjIwLvvAj4+QGcnfN97D+EzZ8Jr1Srgj38EXn4ZXvPmAfPna/PMhIgI7Z/NBqxdCyxaBPzhD8DFi1p5opcXkJvrEKSJDpAAtPsTE7Wv//EPYPt2YNo0ICpKuz07G4iMvIwngYhofBuJOWkXADxit9sTAXwGwHdMJtM1I7BdIiIiUnT8859aOWFLi9a98YEHENzZCSQnA4WF2tywiAjg1VeBior+GzCbgbQ0LesVFwd88AFw++1aF8jgYGDrVgADdLy8eBGYNw/w9QVKSrQSzPZ2OSfOk3lqB08iIr1hZ9LsdnsdgLp/f91mMplKAUQDODrcbRMREY00hwzRWNDbC/z+9+g5fRrdOTnweughBMyeDWRlafPITp8GQkK0zNh112kZtJUrtfljRlpbgY0bte2+8YYWnP3yl+hYtgxBJSXAZz8L8+OPY8lnPuN4noqKgJQUraQxLEzL1kVEABMnatusrATKyrRgbdWqy3BiBkcEnmOxkycRXX1GdE6ayWSaCeA6AAUjuV0iIqKRMCYv1H18gPXr4RcSgotRUQi45RZg1ixg2TLg2WeB994Dbr0V+K//0pp6fPQR8MUvasHaUd3npcXFQF6eFmh1dWmlj3V16LVYcNxmw9zYWAQsXAj88Y8we3lp+1i/XhvDU08Bc+ZojUaqqrTt2e3aPkNDgSlTgG3bgO9977KfIneM1aUWiOjqNGJBmslkCgbwFoDv2e32fvUEJpNpPYD1ADBjxoyR2i0REZHbxuyFekjIpa9NJmDCBO3rt9/WWubn5WkZrd5eoKBAK0nUy87W2vI/9xzw+98DX/sa8OUvA7/7HXzMZsy12xGwdasW8GVlOT73gw+ABQuAH/wA8PbWWu/fcouWxcvOBr71La2ByJQpwBe+MFpnYdjE6z7msqlEdNUZkSDNZDL5QAvQttnt9iyjx9jt9s0ANgNAamqqfST2S0RENFhj4uL8Yh9Qtx1oOgCgD8AEdAYk4kTFMcS0tSGkp0fLgi1frgVen34K+Ptr3R+PHtUafehlZmpZtq1btWDuf/4HePxxwGIBpkxBwMSJ2py2G2/s/9zDh4H77tMCNAD46U+1lv7h4dqctO98R2skMmvW6J2TETIms6lEdNUZie6OJgD/C6DUbrf/ZvhDIiIiGj8GnbW52AfsXAE0FQAX2uXNgROCkOgdhQld92uljbfeCmRkaMHWLbdo2bT77tOCNUGsk9bdDbz4otZc5Fe/0jJxjz6qBVbh4cCKFUBqqjanbfbs/mN69NFLX3d1AenpwM9/rn1/+LD2v9hvY6PTRbQ9wZjNphLRVWUkujveCOArAD5rMpmK/v3v9hHYLhER0ZjmskuiM3Xb+wVoAIC+DkzoOgUcyNLa5i9YcKnscfVq4KWXLgVlr72mtdv38gL27QPefBP46le19dI6OoC9e4GAAOCZZ7R1z/74R+2f3T5wK/2PP9aCQkHsU3j3XfeP9QphgEZEnm7YQZrdbt9jt9tNdrv9WrvdnvLvf++NxOCIiIjGssFkbWQg13wQuNBh/KC288Cmbdpi1qmpWpA2caIWcO3erbXdj4oCbroJ+Pa3tc6NCxdqGbagIG3+2vHjWqfGTz8F7rxTa+mfnq5l2UJDtTb9znR2aiWTtyufxXZ3Oz4mLw+4cGHA4yUiIudGtLsjEREROXI3QJPzpCZdB/uEQJj6DAK1Zm/g22u0uWjaE7U2/B98oLXF7+vTGndERwMvv6y14VczXXPnau3yP/954Prrgdtu09rmt7YC77yjNQFxprBQW8T68ccdb585U+sCabdrAVtQkLZu2sSJAx43EREZM9ntl7+HR2pqqr2wsPCy75eIiMhTyblr/56TZm/8BOjrgAyxJgQB/qlA5oeA17/LHHt6tEYg69dr3+/bBzQ3a3PVBuOXv9Ta6xt1ZuzuBnbu1OavzZ8/1MMjIiIdk8l0wG63pxrexyCNiIjIw1zsQ2flWzh16F3MjLHA3z8ImHQ9bME3whwaNmK7YSt6IqIrx1WQNhKNQ4iIiGgAg2oe4jUBgXNWY9ptf4T/wmeA5J/AFrIEebv/NbjtDDAeZ01NRmofREQ0NAzSiIiIRplRQOROIKRmuUa6dbzZbEZKSkq/7Q2pIyUREY0oBmlERESjTB9gDTUQchagie0MZns2mw1FRUX9nsN1xIiIrjwGaURERJfBaGXFRMBntVoHFfi5GgMDNCKiK4st+ImIiK6AkSxbFMGW+He5x0BERCOLmTQiIiInBls+eCWoHRoZdBERjQ8M0oiIiAzYbDbk5OS4FXxdqWYbbPJBRDQ+MUgjIiIapivVbINNPoiIxicGaURERAbMZjMyMjLcDoCuVKDk7n6ZbSMiGjsYpBERETkxXjJUY6Us0tPHR0R0uTBIIyIiGufGQlnkWAkkiYguBwZpREREbhit4EG/3eHsx9VzPTlAA8ZGIElEdLkwSCMiIhrAaGV59Nt1th9P7jA5khigERFpTHa7/bLvNDU11V5YWHjZ90tERDRU6npko7ldo+/z8vLcyjKN1hiJiGjkmUymA3a7PdXoPmbSiIjoqjLUTNNoBT/67Rp9724Z4NUcoI3lDCIRkR6DNCIiGjWeduGslgRezrGp+xrKfq/m4Msd46HUk4hIxSCNiIhGhSdeOIusFIAhj22wz9EHhp52TsYDNh0hovGGc9KIiGjUePIcqaGMbTDzw5zty5PPibvGwzEQEV1pnJNGRERXhCdfyA9lbEPN2KiP1z93rGXVmA0kIhp9DNKIiIgGQd95cTjGYsDD0kIiotHHII2IiMhN+gYgw53X5izg8fSgjQEaEdHoYpBGRETkBn1QNlBGyVlHR6PtuNoPERFdfRikERER/ZsIjIwCJLUzpHqbs+046+g4UHDHckIiImKQRkREhEuBldVqdZnJGijLJTofikDLKOhiAEZERK4wSCMioquWGmyJYMpisTjNZLlT4mgUxA2m2QjLHYmIiEEaERFdlYyCIRFMucp0DXSfq8Wy3QnAWO5IRERczJqIiK5ao7kos7NtG93OxaGJiK4+XMyaiIjIwGgGRq4ag6hY3khERHoM0oiIiK6gkS5vZLBHRDT2MUgjIiJSDCbIMXqsu883mgs3XMzKERGNDwzSiIiI/m0wQY7RY202G7KysobVwXE4QaKzrByDNiKisYVBGhER0b8NpvTQ6LE2mw1lZWWora0d0n6GGySKbQ91m0RE5BnY3ZGIiGgElZaWorKy0mmwN1AnR/39rh7vbldIT+se6WnjISK6EtjdkYiIaIQZrYEGAImJiS4DNHfWSXP38e4GOp4UEDGzR0Q0MAZpREREOs4CCHG7PtDQf++q/f5gOjmOx4Wtx+MxjRQGrkQkMEgjIiJSOMv0qLfrAw1XgcdAc8YGMh6DmfF4TMPFDCMRqRikERERKZwFXEaBmf5+V4GdMyNxUc4L+7GPGUYiUjFIIyIi+jd3yhVdPVcfkA104T0S2RNmYMYPBmhEJDBIIyIiwvCDHVcZuME+ZyT2S0REYxeDNCIiIgw+2DEK5oYSKI1EcGVUajlYzMQREXkOBmlERORxrlTA4Krxhzomm82GnJwcjwlsBsoCDjROlkwSEXkWBmlERORR1IDhSgcNYixWq9Wjgxiz2YyUlJRhrc3GkkkiIs9hstvtl32nqamp9sLCwsu+XyIiGhtEQJGXl3dZgwfRXt/oNv19Ro+9UkRmLyMjw2mg5iljJSIijclkOmC321ON7mMmjYiIPI7ZbL7s2R2jBarFWNT/1TEOZR9GX4vvRytTxwCNiGhsYZBGREQeS5+5Gu19iaBwKHPOBjPvyyggzMnJQVZWluF2Btq22WxGeno6gzEionGCQRoREXm80WxsoV/XTOjs7HT6OP04jOasGY1VBIFGC2Onp6cjMDDQcHzuLIhdVFTksXPmiIhocBikERGRx1JLDkej9NEoABKZLjVgGigLVlRU5NC4Q204on6v0h+LxWIxnFPmzrGz8QcR0fjCxiFEROSRRGAz3OBjoKYZ6v2i7BAA0tPTYbFYnD7OqImIervVakVRUZFDCaWzcbCxBxHR1cdV4xAGaURE5LGGG7wMJdDTNwwZzr7cGb/6vKHsl4iIxiZ2dyQiIo/kTkOM4WzTVRmgUXdF8ZyhBkoi0FL3PxAxRgAevRYbERFdPgzSiIjoihhsMxB3Hme0TXcWeB7uYtXq9oaynSux5AAREXkuljsSEdEV424542DKFgezTbPZLOeOpaSkOMxBG+z2nS16PZwxEhHR+MVyRyIiGnEjUZbnbqCilgQOZZtGYxUB1WADNGeZMv2i187Oz2gsJ8ASSSKi8YVBGhERDdporlvmijv7NJprpm+ZL4jgz50ATX28USCm/9poMWyRQRvJssahvhYM7IiIPBeDNCIiGrTRXLdsOPt0NidNbYPvzpw1V/RroRmtnWZ0TOpj3C3HdHc8rs6LszGxSQkRkefinDQiIvIIA807G+xcs6HePxiu1k4TC1mra6VZrdZBlVWOxBpxzrbDeXFERFcW56QREdGwjXbWZaB2+fryQWfjGSjwGMnARN2WfnHr/Px85OfnIyUlxWH+mzvncbCZSlfnwtl2GKAREXkuBmlERDSgy1UeN5igxN3xuBPYDWYb7jCbzcjIyEBGRobMnA028BKBnTtjc3UuGIwREY09DNKIiGhAIzkHbSiBkgh6RMmgu+Nxd97YQNswagLi7LHqmPXj038vSiIHGrvU0wM8/DBQXu6wTcNz0dgI7NjRf8Pt7UBT04DHQu7j3D4iGmkM0oiIyC2DCdAG237e3RJAq9WKzZs3Ow1u9NtRA5iByild6ezsHHB8bgeBra1AaSlaH38cHz32mMOxyOfa7TC/9BJue/ttmL/7XWD9euA73wF+9CPg7beBlpZ+x9nP5MnAtm39b/fxAT7/+QGPh9zDJixENBq8r/QAiIhofHHVrMJsNss5Wu48Xt/cwmKxYP369TCbzf2e42w7zr52Z/8DHad+2w7b+OQT4K23gN5ewM8PmDABMJmA0FAgKgqhVVVY/PnPy3LIfuO45x70JiTA96abAH//Szs+fBj4zGecD+zcOaChQft37hzwu98BJ08C3/8+MG2advtNN7l9nOTaaHU6JaKrG4M0IiIaUQNlrIqKihxKAZ093lnwJIIao2BsKBfL7jwvMDDQcGxxcXFITEx02JaUmgrMnq1ltAz0HD6MEx0dCP93sNdvDbagIBzbuRPz8vLg//Ofa086eRJISHB9QHv3aoFhTIz271vfAnx9gTfeAObN04LHb38bqK7WMm3f+x6gOz4aHAZoRDTSWO5IREQjztlFq7OAyGhx6KEEXe4223B3vCJbJubDqY+Pi4vDq6++6nxembe3DNBsJ08Chw4Br74KPPYYcO4c/Pz8sGjRIpdZv6SICPgvW3ZpmwcPAmlprg8mIwOwWoGdO7Xvn34aqKgAVq4E3nsPqKrSxvHxx8CZMwzQiIg8EIM0IiKSLse8GlcBkbsLTTubB2S1Wgc1P0g0FBloH0bjSExMxPr16w3XPet45x3gu98FnnwSrY8/jqrf/hYdVVVASoo2r2ziRABASEiIy/EF1NYC8+dfukEN0i5cAJS1TuVxHDkCfOUrwI03AgsWAGFhwA9/COTkAF/8IvDVr2rz4m68EXjmGZf7JyKiK4PljkRE49hgFiweqQWUB0Mdn6uyR3G/YPRYUUqpn/Pmat85OTkA0C9T5mo86ridznHz9saSH/8Y6O7G7kOHkJKSgiCLBR07diBIKY90di6kujpg0qRL31dWasHZ9u1AVpY21+255xxfu127tOfMnas1CLl4UcvqfeELQEGB9hyzGYiLG/AcERHRlWGyK5/CXS6pqan2wsLCy75fIqKryVCCrsEEdcPlTsMQV4GU0ViNArqBxuDO49V9iXGnpKSgqKhIjl//GLO/P7BuHXqmT4efry96zp/H+Vdegf2TT2COjgZ+/GPg61+H7d9BWL9zYbVqDT4yMgAvL+1fQIA2z2zWLOD994HPfha4665L+7xwAXj8ceCOO7Q5Zxcvat0cU1OB3FzgwQeBX/8aiIrSukX6+Lh1noiIaOSZTKYDdrs91fA+BmlENNZczkBirPPkc+UsQNIHb+rj1ODNKMAzeq6r43fn/FitVodgTH2eq/HYbDaYn3pKC4pMJgDA+XXr4Ltli7bhH/8YbV/8Ij6ursaSJUsMzwU++cR5J8evflXr3BgWdum23l7g+HGgvl77/tQprczxz3/W5qj19GgdHufMATZuBH71K5fHTkREo8dVkMY5aUQ0pnjimkSeNBa9oQZoo31M4nU0oi8zFGWF+jliIrBx9tyB3ivurNlms9mQn5/vtIRSjjE4CJ+N74S5+ndA7T9ga21BXl4eei5elAEaurvhO22awz5CQkIc1nHrRwRo3d1AWZnWofHJJ7UFqdvaHAM0QMuMJSYCe/YA0dHAl74EJCcDwcHav6go7fuICGDmTGD1aq10koiIPArnpBHRmOJpaxJdiXlcQ+VuVu1yHNNAr6M+Y+XsOa7WRXNnTpk+0HNnrbV+2brWFpgL70VgUwFwoQPwDoI5PA1LFr8Bv40bteYc3d1AZycwcaJ8/q09PfDTbRvnzgHPPw/U1mrBna+vtr6av78WdFkswJ13akFaaKjzE3z+vNa98eRJIDZWm8cWF6c9/+tfBzZtAu69F/jmN51vg4iIrhiWOxIRDZOnlxS6Kg8c6HlXkjtjHso41e0C6FceqW8Koi9tFLcJZR8+i4XnfwNTX8elnXgHA+mvAL/eAfz+9/3Ga7PZYP7Vr7Q5YjExjgOsrgamTNHmnzmTna2VNH7jG8b3/+MfWmfH/HwtSPPxAc6e1YK9vXuBVau0JiR792pz47xYWENEdLmx3JGIaBRdiWDGnXJEfXngQF0P3Wl9fzmoc9AGCipdBW/ObtdvVw3QcnJykJubi5ycnH5z4dTbamtrZblm/JROmPo6HfZjv9ABnDukzUdT9p2Xl4eO7Gygo0PLdk2Y0H+QMTHGAZrNps0ha27WOjuuWOH0vCA9Hfh//w8oLNSybn/6k3bbzp3aQtazZmkdHs+ehe3sWefbISKiK4JBGhF5NE+Y7zWcMbhah2s423RnXp5+flZRUdGg52ddbvpxDCVYdDXXLC8vD1ar1SG7KIhFq1etWmXYSVKwWq149dVXEffvFvblZwNhn+C4ILTJOwgIS9EyV8r2l6SloS8+Hi1f+xr63n9fawyiG6PR8fx7A8B992ndHk+dAmbM6H/wZWXAhg3o+Z//0dZBe/JJYPFirewxIEBrw//449p8tg8+gO2//xt5hYVX/HUnIiJHLHckIo/lCfO9BjMGfendQOtwDXdc7nQvdDU+d+53Z/sjXRo52O0NZtz6To2u9qUvFU1JSZELV1utVvm1mJMGZU7ahdAF8L71Q8BrgrbgdE+PFrBdvAjcfDNsb7wB84YNwIkTWqDm64uu55/Hh9OnY8nSpQAuZfAOb96MBWYzAtav1wa2f782x23xYu37I0eAhARtLTQAtqYm5O3d6/iebWm51GTEagV+8QvgX/8CPvoINj+/K17aSkR0NWILfiIaszxlbpQ7gYqzlvDA6JQPjnYQ6+6cMH0AM9x9DjZAG4m14JwF2BkZGQ6Pc7ZOm621Beb2fwEtRej0m4uPyvxwc8I1CJkzR3vw5z8PbN6szTVbtw7461+1ssUHHkDHd76DoKYm4JlncMHfH13btmH7wYMysLedPAnzI48Ab72lbWvvXq3cMTxcC/q2bQO2bAEWLnR5jERE5Fk4J42IxixPuNB0Zwz6eU5qcDaaHRIHmmc22tsXj3FVSikMVPo5lJJLo/Oub6Fv9Bz1Plf7FXPP9HPS1NJJm82G/JwP0H4iFKhIgtdbJ3Drv/Yi5MYbgQ8/RO+qVVpL/NtuA5KSgB07tIYhTz+NC11dOHzgANqnTweWLYP3738P+5QpDuMzR0ZqXRlfflnLyk2bprXZ/+EPgR/9SGvTrwRo6jESEdHYxCCNiAY0XuerDPW4nD1Pvfi/HPO7Bppndrm2b7FY+i08bTQfLCcnxyHQ0XOnUchAQZe6D1evg9Vq7bfmmr7lfnp6OiorK2Wg2tnZ6XC/CE4B4KbYWARXVKA9PBzvRUXBHhSEjv/9X9gWLsSB669Hb2oqsHs3UFICrFmjLS69cSO8ExIwb80aBIeEAA0NwNSpMIeGYqmvL9offxw93/ymNocsL0/7v7FRa81fVKRl4375S+15nZ0gIqLxg+WOROSSJ8wLGw1DPS53n3c5ys1GupRyoDJAd+a0idJHdd7XcMar37875ZeCszln7pRoqsGmxWJxKH80KnkU/7fv2YMdH3+MJWFh2Dtjhmzzb77zTuCzn9UCrPff17JqbW1AcbEWtDU1aeWMP/+51uRj2TJ0HD+OoAsXtMDuf/9XW4D65z/XFqN+4w2tCciECcCkSUBdndZYJCjI7XNLRERXFssdiWjIPG3x6JEy1ONy93mXI0BTOxOO1Pb0WSd3soMiayXOjcViMSyTHGzpp1pSKJ7vanFqdbwim6YPqJxlzvTbysnJQVZWFvLz8+VzjJq/qO35rVYrTM3NiC0rQ9edd2r76OrSnuPvDyxbBjzxhFae+J//Cdxxh7ZY9fPPayWQFRXAwYPA3LmAzYag9nbteevWaf+/8ooW1H3wAbBvn9YwZMMG4H/+B/jWt7T7iYhoXGCQRkQDGm8BmjDYNbYGet5ocDa/aqSDZ3e2Z3S/vsTQnXb/4nnOSiPVMennuzkL0NRgTr1dsFqt/cotnQWd+lb86u3OdHZ2Ij8/H31LliAuMBBFBw/CdOIEurduBf7v/7RgLD8fWL9e68740kva/zfeCLz7rha42WxAZqbWtTElBfjoI2DJEi1A6+7W2uufOaNl5GJitMWq584Fvv997esvf9np+IiIaGxhkEZE447LtabceK4nrBemH4vRuEY6WByog6Oz52RkZDhkmQaTqVLnhhkR890GGrcazIn5ZOJ7ETSmp6fLcRo2RenoAOx2uQ1xn8P4GhsNs43Lly/Xtt3UhIDSUnz2zBnAbEbHli2wpacDXl5AdDQwZw7Q16ctJt3crGXDnn8eeO014IYbgN/9DvjjH7UNP/SQtgj1f/wHEBKiBWznz2st+w8c0Mb7ySfAs89q5Y4tLS7PExERjR3eV3oARETucHeOl9G8pcHMPxut8s6hzFHTj0V/TMNdH82dNcLEOFx1eTS6faCOkOnp6cjPz3croANgOB9MHafFYnEIrPTf6+eficDNoQSztRVdf/wjPomMRPqcOTA1NsLc2Ylbampgys9HT08PfF59Fft/8Qss/MIXLr0WtbVo+vWvMaWlBV2LFqE+NBThq1fDXFGBi83N8AoIQG9fH3x27ACWL9fa5u/cCXz729o8s44OLchKTARWrQJ++lOtfPFf/wJeeAGYPBlYuhTw89Pa7l9zDfDOO8DPfqZl6SIinJ5rIiIam5hJIyKPN1C2ReWsU99gAq/RCNCMyvEGMxajBhrunA+jc2eUmdOXBurvG4kukurzLRaLQ1bL6HEDve76Y3AV6OnHb/iemDYNAS+8gCVWK7yOHEHZu++iJy8P1gUL8I958/BuWhouLF2KhffcDXNbHlD8FFD7D5g72jF39mz4vvgiAr7zbVgi7DBX/w74xSPw+ulP0f3yyzh94QI67roL3aWlWrliXh7w5ptapuy224DQUG0MXl7ammeAdvtTTwFTp2oNQgBg/Xq0nzsHfPyxNjdt61bgv/4L+OY3gW98QyuLJCKiMY+ZNCLyaOIC21UmR58RGmxmZyhjctUF0WjfohxvsM0zxLbVTKBRgOFsTPpzp25LbZsvbgPQ7zlDyS4aNe3Qd1R0Nb8sLi5Otr9XAzr99l01ElHPmdHjjJ7Xm5AA/8cfh81mQ7W3N2Jefx3/99FHWLN6NaJnzIDvhx/Ct/BeoKkAuNABeAUCpusQkPorrXHHhz+Fz+ka4PV/Aue9gTne8Dc9juh330V3VBTKurow62c/g/nrXwdaW7X2+ddeCzz4ILrfeAP+gBaoAUBkpNbxMTVVK4t88010l5SgrLsb1zY1wff8eS0r99//7fbrQkREYwMzaUTjhCfMoRoNasdAI0ZZpdE8F872N1BmS11LzNW2jb52lh0caP9G507dllEQ5ux8u1tq6mw8Rk1AjIjHFRcXywBN/3g1M+kqMFbnsolgVD9O/XbP2myoLS6G+a9/xS3l5TCdOoVv1tYisbJS21fnqX8HaO0A7MCeDuAf+4DfPQn4ngIWnwW8LwBlAG65AHz8L+DDl+F99iyCDxzANWfOwPzaa1q548mTwKFDQGQkbEFBqDp+HG1tbZcG9ItfAI88ojUb+eQT4M474f/kk0i47Tb4RkZqGbnUVGDbtoFeGiIiGmMYpBGNA57U7GI0DDS/yWj+2UCdBd25zei+4ZRTqoGC0T5cNQkZaLvO9u/sNrWkUP84V+N0Roy5tLTUYTz6EkdnHSKNGqKI5+u7MprNZsTFxaGoqGjAElL1nIo2+WKc+pJOs9mMsIkTcbC6Gm2ZmQj95S/h+5nPYM+KFbDdeCMA4ELnGS2DJqQD9pW9wHRvoLwQ8O4ATgKYBKAMsB/vBpaGA4sWAa+8At/6eq0ByFe+onV0/OxngZMnYbZYMCssDCHi3LzxBjBvHnDsmNYsJDkZuP9+4OOPEVxQoJVBAtrzy8q0xbGvwLqnREQ0OhikEV0Gox08uRskjIcgzlnLdNVAjSjcyYQNlBUaaAzu7lt9vrNyRmfP04/J3ddXDVQ2b96M0tJSt8fpjAicXn31VRk4uXPunAVh6nw10ZVRfU0qKytloOZsnM4CajVTp5Z72pqbEThxIpYGByNk717gt7+F/5kziHn5Zfj9+Mfo+PBDNLRehH1CoMN++uCH894RwLzPAL/yApoBzAIwCbhon4DebUeB0lJtoelPP9XWR7vhBuCrXwV+9StcOHkSNpsNfmVlgLc38OGHgI8PcO+9WinkmjVai/3SUq3Nvo8PcOGCthg2APzkJ1ob/7vv1ha97utz+3UjIiLPZLJfgU/eUlNT7YWFhZd9vzS+DKVb3pUwmM6CY2Ucrho1jObrMtAxuHuMYoz6ZhxG87b0j9Nvw9U+AOOgZCjnTb89q9WKoqIiw3llA21HnRtWWlqKyspKt+a4uXOfKEFU57i5++HBQHPUXn31VaxZswaJiYmGr+FA1Ofou0XabDaYOzvR85vfwO9rXwN6e4HkZFitVrzys5/hvoceQvDMmWi4ZxWi/6Mb/u2HtIxamR8uHg6HV/c8IGU+cOHvwK4KIKEPSA7AxV2h8Fr3W+Dv2ehtb4fPF76gZdGUMeX/5S+wWSzIPHsWAStXat0er7320sDfeEP7/zOfAaZP176227VFrrdudevYiYjI85hMpgN2uz3V8D4GaTQSF9WXO2AazcBnNI7FUwLKkXqtc3JyAMCwmcNwgxt39j+U4Mjocc7aug+0HXeCRWfnyNlYBno/65t76JtwiMcMFACKIMrdgGwoY1W36c623XlNzWZzv4BS/zx39unqMR1vv42Kjz/G5O99D5Yf/lArUezrQ9f27Qh48EHgi19E+1e+gl2rv4DPJvQgsOcYEJYCRK0EfvNb4AtfAGZMR8//PAQvazl8JscBzQHANdeg7TOfQeMTTyD85Zf7fTDg7nu2n44OLTtHRERjkqsgjeWOV7mRmMt0JeZDuVveN1ijdSyjGaCN1nl3tV394sWCfi7SUBpsDHQ8zsr61Nv07e7VMjl3iMe5GqtaKmc0xoyMDKSnp7v12rvzfnbW3MPVuVDnt1mtVlitVjz33HNunw/9XDF3x6oGH+683gO12RcSExOdvr/U43S2PavVqpVVtrY4tNC3tWqLQAdVVGDqHXcgf98+9FgswH/+J/D97yNg/nytRBFAcFAQlty8DIFzVgPzfgxEfw7wmnBpvKfrcOikHXtD0mB7+BnAZNLa53t5Ydq/124T51WUeOqDZrcxQCMiGrcYpF3lhhLsDOWizeh5wzUagc9oBX/uGuw5cnWBazR/SW2iMJTtqhkiZ+dIbfpgdC6NGkro9+uqGYTRcai3iTlHYq6Sq4t3Z4sj5+XlAYBh239xDvLz810GBDabza3GFoKrbJ7RY/SBiv44xf/iOIqKitDW1oaEhASH4zRaE009TnWumKuxqmNWXwujMkr9tvTz79THZmVl9ZuvJu5Tn6cGrmpXR3Vb+fn56OpsR+AndwP/WgMUPwn7ni+hJ2eZFqhZrQhMSwMAmOrqgOefB554AigrQ9u/5405Pf7ubuDFF2EuLkbytdcirbUV5uee0+6qrkbB/v39zg8REZEzDNKuUuoFwmADNGetvofyPHfGNxTufCrvzFACtJE4rsEs2Cw4uwg2CmTEYwHjDJH+PTFQ6d1At+m/V4/P1ftIBBTOghuj4xC3ie3pL9TVi3c1uBlo+/n5+Q5jFKWCIpPorFuhmC82UGMLV9RgC3DeMEUEkuq49cdrsVhks4y0tDQ5JmfnRZxTfcZUH0A5YxR0DfS6i8foA8bAwECZkRTbsFqt2Lx5s8vfQ0YNSzIyMnDvjcHwbj0gW+ib+jowGcdhPvYu8O9MV8aKFfD18wO++EXgqadge+01vFVYiJycHJzXLxb9wQfAl74EBARoi0qvXImAgAD4feMbWoAHwP/mm7Hollvg5+vrEExmZGQ4PYdERHR1Y5A2TFfy09Ch7ns4n+QONdM0mOcNZ3yuLgSHEgQ52776tdGFpbPnGmUlxH0DLdjsjD5AE5kuo4BMvZhXs1lG58xoHGaz1mlPH3gYnYOcnBxkZWXJcySClvz8fDk+o32IgMJoH+o4jDIwmzdvhtVqlY8VmSCj43A1n8zodtEJUZ3TJR6rH6d4LdXyPKPj0O9X0Ad5Ru3i1X2p36vBiz7zBgDR0dHy/Orv058X/biNsnbiPvV29Tiee+45lJaWytchJSXF8PjV/avHlp6eLss6xetpNpuxfv16p2vnucrg9Z7d59hCH4CprxO9W1+C7atf/fcNJuA3vwEmT9aOsa8P0+rrkZ6eDl9958QLF4Df/lZbz8zXV7vt4kVtG4DW4GP5cphjYrTb4TwoJSIiEhikDcNg/sCO9B/h0Qy0BtrmUEsB3X3eUANB9QLR6AJNHwQN9typF4libosaELk7B0fdnjCSZZadnZ1ym862a5Q10T9uoEyWPgDQN3NIT09HYGCgw/3R0dHy2F29//SZMGcBtroNi8WC9evXw2w2y/eBaN1u9No4C9DUc6JmcCorK7FmzZp+F9hGY3MW6Bg91mq1OgRhNptWlieCvJSUFFRWVvZvF2+7VNop9mGxWJCZmWkYvIhMkvp6GFGPz9l7ROxXlHw6+1kwm82yvFJsMz8/3+mHFYK6LXEs+syeswBN3Zf6dVZWFrZt24bXdhxDn1eAw2Pt1X4omzgFOerr6eV1KWPX0YEbr78elv/5H61Zh+r224GoKMfbqquBnh7g6ae1wKyyEh1vv+3wXGcfzIzU3woGfkREYxuDtGFw98J6tD4tdTW3ZyCuLpCHM9aRCliHctGiv4g0uk98Iu8qq+Vq+2qZm3rBqF6UulpUWA0YRLCnGkpJqP7xIjBSgxGjx7rKmoiLU/349JkS9XY1gLBarfIcqdtXM3H6tbnU7euzNc6yjPpjt/y7XE0EIPpskVEZnnqM6mPEfkXmTASZ4nVT31Pqz2JOTg5qa2vl4/RZLzXYKi0txbPPPovNmzcjLi7OMPMltq8GK+r+RKBks2llgNnZ2U5LJPUZTmcZZ2cfeBiND3AMhtX3AQAsX74clZWVSE5OhsVikY81eu31nP0c6R+vf38bvX8DAwOxdOlSXIxcgcaLs2CfEAQ7TMCEIJgCkhDz/T/KY1DLREXGLui227TujQsX9htTP4mJgMUCrF8PLFkCW0QESoqK0BN4aX019f2jHsdI/K0Yyxm6sThmIqLRwBb8l4mrzMFQtqVvxe2q5flgxzbUbYiLUFdrI6ljd2cf7j7eaMzObhOty/Pz8wdsj65uQxyj0Sf4zsbp7FzabDZs27YN4eHh/ddqcnIc+qBLHIe6VpZ4PIB+7xGjx7oiAi1X50Q9dtEOXr9+l5HS0lK8+uqr8gJYf54BLZsiSt2MxiKyI6tWrZLnxeicGY1BLSc0Goc4pri4ONnyXcjKykJgYKAMNMR7Qrw/cnNzAQDNzc2YNGmSfKw6HjH2wMBAJCcnIyQkxOHDBVfvG0HdDgC5HzEe/eugHnNxcbFDVk2cXxHciIyk/rwanUdRvmq0HIMYoxqg5ubmYvny5S7XeDPKdjr7vQdceq+oP9P694zDxb+9D95nd+DU4WzMuDYTgXH3AF4T+o1juMsVqNx5nv5nfDh/M0byb87lMti/D0REY52rFvyw2+2X/d+CBQvsNHg1NTXy69bW1n5ft7a22rOzs+2tra0Ot7kinuNs2+pt6nb197322mv21157zV5TU2OvqamR43C2T1dj09/u7jGo29XfZnQMzo7FaLutra32F1980f6DH/zA4VwZPVfc7+o8iO0525YgtlFTUyPPsX78zo5JPV6jxzobv7Pzox6f/jFHjx51eB+58/5TH6ueJ7F9cazq1/pxPPbYY3LfRj8Hzo4zOzvbvm/fvgHHoZ4zcXxifOI1FGPQ/wyIr139zOjfK0ePHnX58/faa6/ZX3zxRYfntra29tuPGO/Ro0cdvlf3Jxw9etT+xBNPyG04Ox/68ejH5mrMYrs1NTX2733ve4bjVb939rPj7PeeOB9G7xP9OTHahtE+xPvrxRdfdPg5cvXeGg7975vR2o+nuxqPmYiuXgAK7U7iJZY7joLRmFOgL98xKjsS80SAS+tEDdSeXTzHqF25+tisrKx+rbDF4wEgOTlZfoKtL+nS05fFqePRz80Z6NNg8Tyjrn367JKzJhLqtlzNLVq1ahUeeughmXFQ9y+OS7xOpaWl8jzoHyd0dXU5vU/cLrahlleq+xPy8vJkcwb13InXrLy83LDMU/3fqH27/n5RnpeVlSVfK6vVisrKSsTFxSE3N9eh5MxVF0mj8j21a596rE1NTXKbYvwWiwUbNmyQzTnEttWfA/0xivsjIyPx5ptvYv+/26LrxyHOvZpJEU1PRObIbDZj1apVcgz6+VKiLFb/GosxiPvFviIjI7F161ZZiigeqx5zRkYGVq1aJbNG4nFqWacYm+jmaPQzov68q3Pt8vLyHH6fGGU09D8n+gwgAMNGJ2KM8+fP7/cctYTWZrs0J0+fwTKinks1i2bUCEc/D8/od5R624YNG2SmVj/nTn9Ohvt7Xz3fzs791eBqPGYiIiPeV3oA481wyjX0JV9qOY/ZbJYlSPrHmc1mlJaWIjo6Gvn5+UhPT3f4Y++sVE6dd6ESQZt6IVVXV4evfOUrDtvLysqSgUZ1dTU2bNggLy7ExaWzsjc1OGxra0NxcTGSk5Px6quvYs2aNbJsTC0rU8cvLsTUUiv1AlwtsxJjVh8jghW1DE0cu/78q1+rJWFr1qxxKIVT57CYzWZZwiYu7kTpnth+eXk5ADiUPOqDUv18IH1pobhdlLB1dnY6lNwJv/rVr7BgwQJMmzZNvmbqXC91XpXYn/51ExfNKSkpSEtLk4GZmAcmLsTT0tJQUFDg0DpdfY+rZYziNvG/OgdIHGtkZCSqq6tRW1srj1FQ37vqeRbvCzH/LS4uzmFMotz6xRdfhJ+fH9avX4/o6Oh+H3jk5uYiLS0N0dHRqKyslMejPk7/3taX7YmyRvFc8b4Tx6xekEdFRTn8jOXk5KCzsxNdXV2ylE/sFwBqa2sNO0iqj1GDffHzqD7e2dfqe05/m6tlByIjI/HWW2/h/vvv7zcv0WKxYNWqVW5tz+h9A0CeA6Pfs+r70FmnVP3ro9+OeM3Kysrk7zSbzebQkEd/3Pn5+ejs7Ox3bINl9OGbkbFYykhERIPDOWmjwN25B+pjSktL+13wi0/x9Ref4mJAfOIcGxuLX/3qV9iwYQPKysr6XfQDkAHV2rVrDQO9nJwcNDU1ITw83OFC1Gq1oqKiAo899hief/55LPz3pHmr1YrXX38dkyZNQlpamgxIxDyeLVu2IDExEcuXLzecS6Qeo/6YxDFbrVasXr0aZrPZ4UJXnVejBgE5OTmIjY3Fxo0bcd9996GzsxOdnZ1yDOKCLC4uDtHR0XI+kziPIlsjzp8YozpmddzqPCQ12NFfUIrnigBafV5bW5sMDtTAEXCcc6N/vdS5N+Kicvny5XJ7OTk5SE5OBgBs2bIFixcvRmdnJ2JjY1FVVYXk5GQZZIn5SWL7+vei2J84Hv1rpwbRYhxi3pEYnzhmAA5z8dRzr5+fp44lLi4OiYmJ/T5sMHp91PeZCKpzc3PR1dWFzMxMAMDTTz8NAHjggQcAAFVVVf0usq1WK55++mkZxIWEhDh9L6uvl9ivuF+8FuL9Kt4H+rlc6rGp266trUVISIjcjwi0ysvLkZ2d3a8VvfpBhHqOjAIu/bE4C7yMmhTpgyjxs1VcXIympib5u0Y9D87mgOr3bTQWo/PjKtByth+jsTvLjOlfR6M149TjHmiO60gYzgeBRETkWVzNSWMm7QpQL3wAyIutNWvWAIC8qBMXymrQJC72ysvLUVVVhaamJiQnJ+Omm27CwYMHAUBenIuL6OTkZNTV1aG0tBRLly51CMDEH/nk5GQUFBQgOTkZ2dnZWLt2rVwXasaMGVi2bBmioqJgs9lQW1uLXbt2oaKiAqtXr0ZBQQHS0tJkRic6Ohrr1q1De3u7w8Wj1WqVWTPgUmZJPT5x0ZWcnCwvYgXRHa6trQ27du1CQECAfI7aKfDBBx/Ezp07sWzZMlRXVzsEDHFxcXjhhRfw4IMPIjAwELW1tbLzXEFBAQAgNjbW4YJUDXTVzF5paSlCQkJk9kCUc7W1tTlkSkQA19nZKV8PEXhs3bpVfloPQGbC1Bb0WVlZKCoqwowZM2RQrKqtrUVRUREmT56Mffv2Yf369Q77mDlzJlJSUtDW1obKykrExsaioKBAnhNx3OKYxPkR70XxWgH9L5DF/sV7VWxTdJgUGYn7779ftpEPCAiQ71FxPvQBtzjn4hiio6P7lQwaNUYBIM+3vjGM+n750Y9+JI8nLy8PsbGxKCkpcdi+xWLBj370I4f3rLo9EfyJ94QI0EQWWmxfvBeKi4vl9+J/fWZXfKggxhUZGYlt27YhPj4eAQEB8oMKQAss1SUB1PMiMoeAY0MRVwGaUcMMfemyGKPaDEUcp3iuWGbB3QDCKONu9FxngZVRJs5ZgKa+Z1zRZ0jV102/LfW4jYI9Z+fBWWMed8bGAI2IaPxjkDZEzj6RBYzLcNTHqHOVxEXsPffcIzMFnZ2d8qIVgLzYFHN/IiIi8NZbb+Gee+6B1WrFrl27kJKSghdeeAE+Pj44d+4cAgICMHHiRLS0tKCpqQn5+flob2/H9u3bAQDt7e146623YLfbMXPmTAQEBKC0tBSTJ0/Ghx9+iNTUVFRVVcHX1xctLS2oq6vDpk2bEBkZiZKSEsTFxWHGjBk4ePAgSkpKsHv3biQlJeHgwYO47rrrcObMGRw/fhw//OEPERwcDAB44YUX0NPTgzvuuANBQUGGF+j79+9HSUkJli9f3m/R2127dgEACgoKUFxcjNtvvx2AdrHz6quvYtGiRdi4cSMeeeQRWYooSu9ef/11AMDKlSsBACEhITKQEftZtWoVamtr8cILLyA4OFjeJ8YJaMFKbW0tNm7ciOrqatx+++246aabUFJSgpiYGLz00kv49NNP8dRTTyE6OhpvvPEG7r33XlnmJV7/uLg4h/ePOgdQnyVbvnw5kpKSUFhYiObmZof3htVqRUFBAaZMmYLdu3fjC1/4AgA4ZMkAyGAiOTkZu3btQnl5uQysRUAlttXe3i4zo/pgUxAX1errJ8aenp4uA2pxzBaLRV68A5Dj6uzsRHR0tMMFrpq1ECWHANDS0oKwsDCHoEg8R7xO4jVSmc3mfh0g1YvjuLg4GfSL/avlrTabzWHs4uc8OzsbAQEBDmupqa+tmhXVX+Srr7X6YUVubq58/cUxxcTEYOnSpQ7Bj3i/hISEOPy+MZvNDudCBHwA+pVP6+nnBa5fv75f11hncyL1QZNKfa6zTJ3RHEJnWTGjTJI7AYs4N+rxDCYrpQ/aXHWidDZO9bjFOXYWqLkK8FyNdTyUQo6HYyAiGi4GaUOgL2fT/7F31YZd/8ddvYgVn16LOTDqxdiBAwdQXV2NyZMno6GhAd3d3Whvb8e+ffsQHByMkydPoqmpCWazGW+//TYmT56MlJQU9PT0YPbs2ejr68Pq1asBABs3bgQAzJo1Cy+//DLS09Nx22234eWXX0ZlZSXWrVsnx56Xl4eoqCi0tbWhsLAQ6enpaG9vR01NDebMmYPu7m7cfffdaGxsxOTJk+W+i4qKkJmZicLCQrz++uvIzMxESkoKDh06hGeeeQb+/v64/vrrZYlhbm4uYmJi8POf/xzTp09HUlISkpKSkJ2djaVLlyIpKQkvvvgiurq6cN111+HEiRP4wx/+gGPHjmHlypVYs2YNEhMTAQBnzpxBfHy8LBFLS0vDT3/6UzQ0NGDx4sUySyQCmaKiIuTm5uLRRx9Fe3s7TCYT6uvrZWaks7MT27dvR0BAACoqKlBWVoakpCTExcXB398fhYWF+Pjjj+Hr64vz589j3bp1SExMxP79+/G3v/0NN910k8PrL7IcH330EWpqatDd3Y3q6mrMnz9flneq7zMxJ6mlpQXTpk1DbGwsAK1sULj77rsBANHR0Q5z1kSwpV5IBgQE4K677kJxcTFCQkKQnp4uyw6TkpLQ1dXlMF61dbu4+BdjEHPE2traYDab0dTUhOzsbBw7dgzr169HYmKiw7ZKS0sdSkzF/Dj9BZk67ywwMBCxsbF45ZVXkJGRIY9JzQSLLLMIZPLy8vrNh9Nf9ItzIoLWBx98UN5uNGdJLftMTk5GdXU17r//focxiAApJCREZkXVUlg9kV0VgZoIqsQ2ReBWXFzsUBarPkcQxyXmgenPq9pUSF8aaDT/VQSo+sy/eu4A40yYO0GQem5E5lAE5WrG2ijDN1BQpWap9u/fj4ULFzp80KCO19nY9OfP6D5Xx+dqnOrcS/V8qfsYSknjeCiFHA/HQEQ0EhikDYH6ibI++FJvA/r/wVEvXsScKBGgPf3004iIiEBDQwN+9KMfyUYJERERePrpp+Ht7Y3W1lZ87nOfw2uvvYaSkhJ0d3fjy1/+Mg4fPoyVK1fiF7/4BS5cuIBFixbBbrfD19cXR44cQUxMjMw+lZeX48SJE9i/fz+am5uxfft2TJs2DV5eXmhqasLu3bvx1ltvISQkBOfOnUNKSgp8fX3h7e2Nw4cPw8/PDx9//DFuvvlmnDp1CqWlpbjllltQU1MDAGhsbITNZsPbb7+NZcuWoa+vD0VFRdizZw8mT56M0NBQrFy5Evv27cPMmTORkJCAgwcPorS0FB0dHQCATZs2AQDKysrw8ccfY/78+bDb7TJzFx0djeTkZJw5cwYvvPAC4uPjAQB79uzBPffcA5vNhs2bN6OnpwcZGRno6+vDxIkTsWPHDoSFhQEAUlNT8eqrr+Kdd96BxWJBUVER9u3bh/nz58uSv4aGBgDAvn37MHfuXGRnZyM8PBxf/OIX5YV7W1sb9u7di6CgINTU1ODYsWOwWq2Ij4/HihUrEBwcLNeyEkHJ0qVLcfr0acycORM9PT04deoUvL21H0dRyioyUiEhIXKB4htuuAFvvfUWpkyZIs9fTEyMLG1btWqVwwWtuJgX2ajly5cD0Bq9dHV1OTQY6erqQmdnJwICAuT7VN2GKOOsra2VWYCMjAwcOHBANnwJCAhAUlISuru7UVBQ4BBY1NbW4mc/+xmefPJJGRyqJa3qz4YoRVWzdPPnz0dISIjMbL766qvIzMxEVFQUcnNzUVpaKgNkdT4dcKkcUg0GxHGFh4dj7dq1MpOtz4CpC2Orgd+GDRvQ1taGbdu2Ocy/ArSS18DAQBm46RvxiG2r2VWxD7VZTUpKiswCqudJPF8EbKIEMTk52SEwVp8jMnRGpYH6tdSWLFmC0tJSh9JkcR71a8fpm3Tof+cZzWfT7xeA3J5a0iluF2PbtGkTEhMT+50T9byIn/3169ejrq4O3/ve9/CLX/wCy5Yt69dQSf++U9/zQP+139T7RJBsNG9UPUZn1ADNKDPozhw7PXcCWE83Ho6BiGgkMEgbImd/QIw674k/OGpDBpvNhn379jmUI505cwZNTU3w8/NDbm4uioqKEB8fj4iICISGhqK1tRVlZWUAgO7ubnR0dGDChAn4+9//jtDQUJw7dw6+vr6YNm0aPvjgA3zuc59Dfn4+Ojo6EBwcDC8vL5SWlqKmpgYTJ05EY2MjIiIi4O/vj7///e/o6OjA8ePHMWHCBLS2tmLBggU4deoU2tvbMXXqVCxatAivvPIKLly4gPPnz6OkpAQXL15EWVkZysvL8cADDyA+Ph579uxBSEgIWlpa8Kc//QlxcXE4fPiwbGpRU1ODv/3tb2hpacHNN9+MN954A1VVVTh37py8YElOTsbtt9+OiooKdHZ2Ii8vD+Xl5cjIyEBERIScf9fQ0ICvfvWrALTSr5iYGJSUlOCVV17Bzp078b3vfQ8HDx5EU1MT5s+fD6vVirNnz6K+vh51dXU4cuQIzGYzzpw5g3/+859YvXo1Ojo6cN9996GhoQHZ2dnYt28fAODmm2/G6tWrceLECfzud79DUFAQqqur0dzcDB8fH5w/fx4pKSno7u5Gbm4ukpKScPLkSWzfvh2TJk1CUlIS9uzZg4MHD2L69Ok4e/YsAKCnpwePPPIIIiMjUVdXh2eeeQbXX389rFYrTp06hUcffRRLly4FAEydOhX3338/6uvr8eabb6KpqQk33XSTLG1Us7LZ2dkAtIChq6tLlvOJOW1inpd6ISgeL4IG0XCjoqICzz//PB577DFERUWhp6cHBQUFSEpKkkFNdHQ0urq6UFJSAn9/f4dtiovQRx55BADkRbQIetRsnZg3JxpQAFpZoCjPFGNftGgR3nrrLSQkJCAtLU12nGxvb0d8fLwMjFetWuUwR02dkyQycJWVlTJLI7J4IgMj9hkXFye/FsHKs88+i1OnTsnXp6ioSG7PqBOkSmR79EGD+F8ds1pKqW4buNTMpba2Vi7M7Wyf4jY106QGKSLgstlsDkGweKzYv1o2qA9S9BfZ4nEiKwzAcIFv9Xj01QqAFtSsW7euX2msun1AC56WLVsmz+0dd9yB6upqw0BH36lVBNT6107sS9wnXms1UFbHOpgAw1lQ4izodWd7Y914OAYiouFikDaCzOZLaymJCw1xoSDmTWVmZsJsNqO8vBznz59HW1sbbDYb6urqYLPZMG/ePPT09ODXv/417rzzTqSmpuJPf/oTOjo6kJSUhGPHjsFms8HPz09mQwDt4v1f//oXzGYzrrvuOuzYsQN/+9vf4OXlhejoaDQ3N6OmpgZBQUGYOnUq6uvr0dnZibS0NBw6dAgAEB8fj/LycuTn58Pb2xu9vb2IiYnBP/7xD5hMJpjNZnh5eeHixYuYOHEifH19UVVVhQkTJmDlypV45ZVX0NjYiJ6eHllm2djYCG9vb8TExKC7uxuffvopMjMzkZGRgY0bN+Ljjz9GUFAQzp07h5iYGJw7dw4dHR04deoUtm/fjrCwMJld7OjoQGlpKaxWK44ePYpJkybh9OnTePHFFxEeHo7p06dj6dKlaG9vx7Zt2xAREYHm5mZ0d3fL7MK8efPwxz/+ET09PThz5gwaGxsRGBiIoKAg3HHHHViwYIFDq/c9e/bAYrFg7ty5+M1vfgMvLy989rOfRUdHB3bu3InCwkLk5+fjl7/8JQCtLLWpqQnd3d04ffo0qqqqZBCxa9cudHV1oaqqCu+9955s0jJ37lxUVFTgww8/xNy5c/Gd73wHc+bMQXZ2NmbMmAEAci7hxo0bcc011yAgIACJiYlYsWIF3nvvPSxatAgxMTGy22dJSQmKi4thsVhQUFCAgIAApKWlITs7G8XFxfD19cXy5ctRU1ODtWvXora21qGBiOgU2dzcDEDLvC1YsAAlJSWIj4+XDTUKCgoQGhqKhoYG1NbWyv2IAFBt+W6z2WQXxTVr1shGJuL/oKAguRSDaEZTUFCAtrY2OU9TLc/ct28f7rnnHkRFRcmfufb2djkvUQ1M9Rf1aja8srISkZGRMrMWGBiIAwcO4Cc/+Ql+85vfYOHChbBarXjhhRdkZks0MxFluaIEUwQs+kBCn0nTz0lSgyTgUpZFlEzq52+KUkQ1EBJlimaz2aHJjXq84neRCExEeaxR6d+aNWtQXFyMqqoq+ftMv381KwnAYX/6oEidzybGbFRqCcAwULLZtDXdREmrPngRY8zOzsaHH36IqVOnIjo6Gl/96lf7ZWzVOYeiVFq8ZvrgTB2vOk79WNva2gAYz0k2KmfUZzOdYWaJiOjqxCBtBImLmM7OThw4cADvv/8+NmzYIC/CMjMzcebMGdlBr729XTbD6Orqwg033IAjR46gq6sLbW1t6O7uRlVVFY4ePYrW1lYsXLgQ8+fPR0REBPbu3YvIyEh0dXWhvr4e1dXVCA4OxpkzZ9De3o6+vj4AkIFMT08PAKCvr0+W2JWUlODQoUM4ceIEAK1bnN1uh5+fH7y9vfHBBx9g4cKF+OxnP4uqqir09vbixIkT6Orqgq+vL+rr69HV1YXg4GD885//lOWRFy9ehJ+fH44cOYKUlBQ0NjYiIyMD/v7+qKqqwuHDh+Hr64vTp08jICAAzc3N8PX1xe7du+UcsMbGRtTV1SE4OBgVFRVYtWoVWlpacPjwYbS3t8uMnK+vL+x2Oz799FN861vfwsKFC/H4449jzpw5qK2txalTp1BfX4+9e/ciODgYNpsNixcvhr+/v5zj9u1vfxsBAQGoqanBX/7yF0yaNEle4IsLy+nTp+PAgQOYMWMGQkNDERcXh6ioKKxevRpRUVGYPn06vvOd7+D222+X2QbRWVEoLCzEfffdBwC44YYb8PLLLyMqKgrnz5+H3W7Hl7/8ZezevRtlZWWYOnWqfP2KioqwY8cOfPGLX0R7ezsAIDMzU7aTf//99xEYGIj3338fZrMZ+fn5WLt2LWJiYtDQ0CDnapWXlyM8PBwPPfQQKisr8bvf/Q49PT1ISEjA+++/jylTpmDlypUoLi5GRUUF3n33XdTX1+Pmm2+WyyyoCygXFxejublZzpMrKCjA6dOnsX37dqxcuRLR0dEy46J2Gt21axfa29uRnZ2NZcuWobKyUh7HlClTkJycjEOHDiEpKQkAZCfKuro6h1Izdd6UCGYWLlyIRx55BPHx8di9e7f8UEQ8x6iMTQQZYk6nuO83v/mNLKMVZYtJSUmw2WzYsmUL1q1bB4vFIjuR6udQqQGhvgmOfk6Sug8RqOm7m4rXXvyuEevNqfOrxDGp67KJ16u8vBzx8fEyMBEBj1EpNgAZuIjvRVml+hh1oXVxDGJ8avAlSruNskVqh07xtau1FdWx6rOiZrMZa9eulY1WxDaddaLUB34qfRmkoA/CxGstsphGAdpAa7MNhAEaEdHVZ0SCNJPJlAHgdwAmAPiL3W7/1Uhsd6zQfzov5uxMnz4dbW1tslU3AHmxabfbsWjRIiQkJKCsrAwVFRW44447sHv3bpw7dw6dnZ344IMP8Pbbb6OhoQFRUVH4wx/+gPDwcDQ0NKClpQXh4eE4ffo0zp8/j87OTvT29sJut6Ourg4AEBQUhLq6OjnPy9vbG93d3cjPz0dcXBxCQkJw9uxZ+Pj4wM/PD52dnbLhgZeXFy5cuICysjJ4e3ujtrYWXl5e8PLygq+vL/r6+mTg5+Xlhd7eXrS1taGvrw/nz5+Hl5cXWlpa8Omnn6K1tRWPPfaY/KS5tLQUp06dgpeXF8rKytDW1oawsDC0tLQgICAAkZGROHPmDACgubkZXl5e2Lp1K7y9vdHW1oaLFy8iKSkJ+fn5SElJQWBgIPz8/FBWVoZDhw7h2WefRWFhIbq7u9HS0oLPf/7z2L9/P2699VYUFBRg4sSJaG1txeTJk3H06FG88sorOH36tGxz/sADD8hAy8/PD1OmTMHzzz+PgIAArFy5EgcOHMAXv/hFBAUF4eGHH0ZISAji4uLg4+MjX2M/Pz+sXLkSy5cvx7Zt21BQUIBTp04hJycHjY2NmD17No4dOwYAeOihh9DZ2Yn29nZUVFSgvb0ddXV1iIqKQmBgIN5++20EBgZi+/btOHHiBK699lqYzWbU1tYCADo6OmRgFhUVhZdeegmFhYUoLCzEN7/5TRQXF6O+vh4vvPAC7rvvPrS3t6OxsRFJSUlobm5GcHAw7r//fhQUFMiul6+++qoMGMLDw2UGRWT/RMass7MTkydPRlVVFU6fPo3Dhw/jzJkzOHr0KBYsWICAgAC5bppw+PBhAMCiRYvQ0NCAwMBA7Nu3DytWrJBzAOfOnYuqqiqZgWxra5MLJAOX5m7pu2Kmp6fL905+fr7s5ilKGfXZHFH2ZzQ/LioqyiFwEI1s1MyLuLgXWUhnQYdohqE2+9BfeOsDDzXwUefgqUs66AMOsU/RXVPMfT19+jTeffdd3HXXXdiwYYMcv9i+s6yYmg1Vz52zVvwqNUAvKytDbW2tYdDj6rzpy3H1c/f0j9dnwdRzo888Gu1XvOf1/6tBsD6oVbOYzjo1uppv5oncnQNHRESjZ9hBmslkmgDgeQC3ArAC2G8ymf5ut9uPDnfbY4H+U1Hxx3v+/PmIiYnBli1bMHPmTHR3d8Pf3x91dXV44YUXkJSUhOuuu06u59XV1YXIyEjExcXhn//8J0JDQzF79mwEBATgxIkTOHPmDDo6OnDx4kWcP38e8+bNQ0NDA6xWK6KiouDj4wOTyYTe3l45to6ODvj5+cFkMgEALly4IP8/cuSIw3GIMkbxCXlLSwsmTJiA+vp6+RixfX9/f7ktcQ78/f3R29sLs9mMjo4O9Pb2wsvLC+fOnUNvby/Onz8PAPDx8ZHz1SZNmoT29nZMmDABdrsdPj4+8PLyQmdnpyyP7O7uRkBAAIKCgtDU1CS3CwC9vb349NNPERgYiNbWVoSFhaG2thbNzc0wm83o6+vDtGnTUFFRAZvNhu3bt+P8+fOyMcasWbPQ29uLkydPoq2tDQ0NDWhra8N///d/Y8qUKfj000/R2NiI2NhYhIaGIjMzE11dXXJ+3aOPPoq5c+fi9OnT2LZtG4KCgpCXl4fz58/DZDIhICAA06dPBwC89tprmDdvHo4fPw5AyyzEx8fj7NmzsFqtMJlMOHToEO644w4UFxdjx44diI2NxalTpxAeHo4HHngA+/btw8mTJ+Hv74+srCxkZWUhMTFRli5GRUUB0AKP2bNny4BHzOu677778Prrr6Ourg4zZsxAb28vZs6ciTfffBNf+MIX0NXVJTNCmZmZyM7ORnp6OrZs2YLw8HAcP34cAQEBOHLkCGbPno2QkBBUVVUhKysL69evx7Rp0xAWFobU1FQEBwfLhid1dXVobm6W3UWvvfZadHV14b333sPkyZNhs9lw1113YdmyZbJZhciAHThwACdPngQAJCQkAIAMGGtra7Fp0yYsWrSoX1dEi8WCp556ComJibBardi4cSPmzp2LtWvXAri0FqE6h0tdXFsEIGI/ooGGKBEUWSFx8a9SM3SCaOohAkmz2eywOLJ+TpW+W2J0dLQcp8juiaUT1P0uWbLEcG7a3XffjRtuuEG+J8TPrRrs6INDwLgpiPphlLO1wdT5ZBaLRa6TB0DOy9UHhyLAUe9Tz5Ea3KivtVGwpl/fT9+NVx2ruh112/p/+mPUZ8OMAjR9RlF9rUbKSAdU7K5IROQZvEZgG4sAHLfb7Sfsdvt5AH8DcNcIbHdM0H8qKi580tLS0NHRgXXr1mHp0qXw9/dHV1cX9uzZg+rqalgsFnR0dCAzMxMHDx7Ejh07sGnTJrS3t2PmzJmYNm0apkyZgkOHDmHixIlYunQprrnmGgQHB+P8+fM4ePAgKisrYTKZ0NraisDAQIfAKSgoCN7e3ggNDYXdbofdbpf3+fn5YcKECQ7H0dPTI2/z9fWFr6+vDPj8/PwAXAryuru7+52HixcvOgRQJpMJFy9e7Hch2dvbKwNAQCu/7Ovrw7lz5zBhwgR0d3fDZrPh3LlzaGlpQVtbG1pbW3H27FkkJSXJxZB37NgBX19ftLa2YsKECbj++usxY8YMTJ06FRMnTkRfXx/Onj2Ljz/+WDYy6e3tRWhoKJqamnD69Gl0dXVhzZo1sNvt6O3tRUdHB1avXo1bb70VsbGxmDhxosyWtLa24qWXXsKePXvQ19cnAweRlfP390d3d7fMCokFkJ944gk5T+yGG25AXV0dpkyZgrKyMuzevRv19fU4c+YMbrrpJkyfPl0uZhwWFoZTp05hwYIFmDp1Ko4dOwZ/f39ZxvqHP/wBERERqKurQ3t7O15++WX893//t8w0dHZ24j/+4z8QHByM8PBwpKenIyUlBT4+PpgxYwYOHDgg54ZlZGSgqqoKgNZa3mw2Y+HChVizZg1iY2PR1dWFf/7zn3jnnXfQ1dWFuLg41NTUoK6uDq2trbBYLKipqUFSUhLWrl2L+Ph4Odfs8OHD2LRpE7Zv3y7LFVNTU7Fy5UrMnj0bEydORExMDMrKymC1WlFcXCyzXmLNuoyMDCQmJiItLc2hmUhBQQHOnz8vG4qIC3tRkikCNEArVw0ICJDZR0BrNCMWg87Ly8OBAwfk/KLly5fLeUYvvPACYmNjZft/ccEvggg1SyhuF+WdonmJaKwi1ixUx6EGPiIDppb1qUFPXl4egEvZNXGfeJwouV6zZo1D0FBcXIwFCxY4BIXq+mR5eXny4lwQv9vUBiNZWVlyP1u3bu0XoAoZGRkOAVFiYiJSUlIcmo4IIlslXit3AgP9fC59AJeRkSGDXXU8KqvVKo/bWZZN/C/Gpr4WrtbC1J/DgR43VOI1c7Wtwe5nLGT6iIiuBiNR7hgNoEb53gogbQS2e9kN9RNJ/QWD+AMnmgmICzXR4a+6uhqffvopVqxYAUBbp+nIkSO47bbb5LyyzMxMdHd345NPPkFDQwPq6+vR3t6O8PBwVFRUwGQyob29HV5eXrKcEdACqp6eHjm3bNKkSWhpaXHIsPX29sqLfZW4TWS9AC3DJjJxrojniFIzERS2trYaPt7f319ebE+YMAF9fX3o7u7GhAkT4OPj41BO2dPTAz8/Pxw4cAB9fX2w2+24cOGCDAwbGhpklk1kFDs6OmTwdf78eQQFBWHy5MnYv3+/DEiPHDmCqqoqeHl5yazW//3f/yE2NhaTJk3ChAkTEBsbi2XLlqG2thZ9fX04fPgwJk+ejI6ODrz55psoKipCQkICWlpacM0118jzkJeXh9jYWKxfvx4ff/wx9u/fj4qKCpw+fRrXXHONzNqJRaj9/PwwceJEBAYGIj4+HklJSVi0aBE6Ozvx1FNPISUlBbfccgu6urqwb98+LFu2DJGRkfIcl5WVITQ0FG+//Tbuu+8+dHR0YO/evbBarbj33nvlezMuLg5hYWFYvHixfC1EtqKpqUk25xBNQUQJ5B133IGHH35YNpfZvXs34uPjsXz5cvzhD39AU1MTysvLcdddd2HBggWIi4tDYmIi/uu//gt1dXXYvXs3oqKikJ2djfz8fEyZMsVhKYS//vWvyMzMRGxsLD799FOUl5fL+WVRUVFyIXfRVKStrQ3Lly9HV1eXXNBZn/Gx2Wx47rnnMGXKFPmzJzJManljdHQ0IiMjsXHjRrlWWk5ODpqamnDu3Dm0tbWhpKREtvoX9OWTtbW1Dp3+RKMP0UDIZrMhPDwcsbGxskOjeK+IYEksZSCyTiLzJojHlZaWYuvWrTCbzZg2bZrcb1NTEwICAhASEiJ/n4llF0RwJr5WM1b6bJpR9sdms6GsrExuV2Q29Y/JysrC8uXL+2WWxNxcQW33r87FU8tB1UBvoAyPUeCmZsH0WS21k6W6gLx6LCJAE01e9PswOn6jJVfU7blzLM4YNRxxtY2h7ocBGhHRlTcSQZrRFby934NMpvUA1gOQHes8yUiXeKifVAcGBsoLpezsbJSXl+POO+/Eu+++K9u3r1ixAm1tbTJjsn37dsyYMQMBAQEIDg5GS0sLgoODcf3118vgS8z1uHjxIgAtQLvmmmvkumhWqxU9PT2wWCwyUwJABj8i+6MSAZNw8eJFGTyJ2wMCAmRXSWfE4/XbA7QATm2CIObDAZcya3PmzEFZWRn6+vrg6+uL9vZ2XLhwAQEBAbh48SKCgoLk3DdAyxw2NDTg4sWLSEhIkPOexEWpj48POjs7ERsbi5kzZ6KxsRENDQ2oq6vDddddh+TkZLz33nvo6OjAyZMnERERgfb2drS2tsqOmp/73Odgs9lQUlKCU6dO4eTJk7jtttvg4+ODRYsW4fTp07hw4QKmT5+O6dOnIzExEZmZmZg+fTqefPJJnDp1SpZ2RkRE4Nprr8Wdd96JF198EUeOHEFLSwvOnTuHe++9F++88w4++eQThIWFITY2FpmZmejs7MRnPvMZREdHY82aNSgoKEBMTAyKiorkwt3Hjh3Du+++iw8//BATJkzAtGnT8PLLL8NkMmHt2rVyCQIAWLt2LUJCQjB16lQcPHgQAQEBSE5ORm5uLnbv3o1HH30UMTEx+MlPfiLfJ7W1tfjTn/4Ek8mE2tpadHZ24mc/+5nssPjcc8/JRc4ffPBBhISEoKSkRC4EfvToUaxevRr5+fm44YYbZMMbk8mEtrY2VFVVYcWKFXjrrbcQHByMkpISbNu2DfHx8bIEsrm5GVu3bsU999wDwHERaZGNEhf/Yq6dCBrUdvLqnK+FCxc6rIuXnp6O119/HWfOnMHdd9/tsIaXyDaK5wJa0PTEE0/glltukU0rxH2is6PYrlpCKMYuxqvOdxPnV2TNRBmmGMeKFSvw/vvv4+6774bZbJaBp3gNRbmm2mxFDUb05YbqotsiGBQBvAgORCMkQJt7qe9aWVtbK4MtsZaZ/vepOvdNnEv9udKfX/V11gc/wkAfsqnPB+BQGinOq9osRP17oDapcTYHT+xDv06h0aLc4nGD4exv1EDHzKwYEdHYNBJBmhXAdOV7C4DT+gfZ7fbNADYDQGpqar8g7kobiT9mIiAQf0jV1tBiu5mZmWhpacHJkydx1113oaioCEeOHMG0adPg7++P+fPnAwDOnj2LAwcOYPLkyfDx8UFXVxc6OjpkKV13dzcuXLiAKVOmoLm5WZbC1dXVISIiApGRkXJR5YSEBISHh8Nms6G3txcmkwl2u90hQAsODnboCglcCrTCw8PR2dmJCxcuoLe3F11dXQgMDERvb69Dhk48R5Q6AugXoKmf5ptMJgQHBxtm9axWK/r6+uDl5YWIiAi5UHZXVxe8vb3lWCdMmIApU6YgNDQU7e3tsp2/n5+fLIf09fWVJZBiuwAQFRWFuro6xMfHw2w2IyYmBjabDT4+Pjh69Cjq6+tx0003ob29HYcOHYKfnx/mz5+PwsJCXLhwAeHh4YiMjJTdJ0NDQ/HJJ5/g2LFjSE5Oxp49e7B582ZMnDhRBrXp6emyRPPWW2/F3r170dPTAx8fH9TW1iI8PBy5ubkIDQ2VHTXDwsLwwQcfIDg4GHv37kV4eDgWLVqE5uZmFBUVwc/PD7fddhuamppkGeYtt9yC/fv3IyAgAIsXL0Z2djZ27tyJiIgI5OXlYdGiRSgpKUFhYSG6urpw4sQJTJ48GdHR0Zg8eTJOnz6N+vp6BAcH48tf/jKmT5+OkpIS1NXVwWQyYdasWTIwDA4ORl1dHT799FPceOONOHXqFMxmM3bt2iUD+q6uLjQ0NOCxxx5DfHw8mpqaZGDY3t6O2bNnA9DKNKdOnYqYmBgAWiCQlJSEqqoqVFRUYMGCBZg0aRKuu+46lJSUoLy8HLW1tQgJCUFTU1O/BbDV5hgA+nVTVOeUNTQ04Pjx4/JC3WKxyHmjImgRQZa6SLcorRRryIn7RedAtaQwJSWl36LaaoZJdBoU5YQxMTGora3ttzaaGP+cOXMctiUCAhFMqp0XjYjARZwXtTGHGHdtbS22bNkiF5FWz496bsXxPvjgg/K8iw6U+nUjxWtdXFwsH6uuGaf+HlDLLdWlCJxl2dTXVj3H4oMzNcMmgi5BDYLU101dYFzt3Cn2rX9dRIAmgj9nf18Gu/7ZUP5GMUAjIhqbTOpcpSFtwGTyBnAMwC0AagHsB/Blu91e4uw5qamp9sLCwmHt90pw9Umts4sEoz/kVqtVLuwMaK2xf//73+P6669HRkYGdu3ahe7ubhw8eBAzZ87E/v37UVRUBF9fX4SEhKCnpwfV1dWYMGECZsyYgbNnz2LSpEloa2uDyWSSF+CnTp1CX18fbrnlFhw4cAChoaEwm804deoUWltbERwc7BDw2O12OVcsLCwMra2t6O3tRWBgIDo7OxEQECC7NwL9s27e3t6wWCxybS41gPPx8ZGNRbq6utDb2yvnvumzaiLDJzJ+3t7e8PLywvnz5zFhwgTZ6l88VrTW9/b2Rl9fH7y9vREeHo7z588jMDAQbW1t8PPzw9mzZ3HTTTehra0Nx48fx5IlS5CXl4fly5fj0KFDslOhWOTbarUiODgYqamp+OCDDzBx4kScO3cOU6dORVNTE3p6enDDDTdg4sSJALRy1l27dqG+vh5Lly6VHQvT0tKwceNGrFmzBgCwe/duVFRUICwsDBMnTsSxY8cQEhICLy8vhIaGIj09HX5+fvjoo49w8eJFeZEZEBCA+vp6GVRMnz4ds2fPxk9/+lNER0fju9/9Lvbv34+cnBzcddddOHv2LGpqauDj44ODBw8iMjISGzZsQFZWFm6++WakpqaipKQEzc3NOHPmDN577z18+9vflk0yzp8/j+rqanz3u99FZ2cnSkpKcPbsWaxevRrV1dVIS0tDfX093njjDfT09CAkJARHjx7F17/+dXR2dqK5uRkWi0Wuc5ecnIyQkBBYLBbs378fr7zyCkJCQuTaetHR0YiKipLNcmw2m+y4OXnyZDzzzDN47LHHUFNTg/DwcCQnJwPQ5qa1tLSgoqICycnJsqOk2vJ/7dq1Dt34xM+hyDhlZGSgvLwcTz31FFauXIm1a9fKlvW1tbVyyQDROERciOfm5qKsrEw2xlAzZGppodH+1MYdakYuMTFRPh6AXMQ6MTFRBoX6UkJROijeK6WlpQ4NOpz9DnNWnieCI/V78Ty1tFT92uh3nn69Nv39glGwol9LTmxPLI+hb+kvxqhuSy2p1L8mRk1L1OPWl3yqz1fv049d3a4+6NQb6aYfREQ0tphMpgN2uz3V6L5hZ9LsdvsFk8m0AcD70Frw/9VVgDZWuTMfwugPtfjUVS17UbvHiQV4Gxsb5TwucQEqHh8VFQWzWVv/KiIiArfeeiv+/Oc/y46Hs2fPRkdHB9ra2tDR0YHu7m6EhYXh7Nmz6OjoQFFREaKiotDW1obGxkb4+/ujs7MTPT096Ovrk+ua+fv74/z58zh//jy8vb0xceJEmbEDtLlsIivU0dGB0NBQhIWFwWazobGxUTbUEN0d1SBOBGnd3d2y+YmXl5cci2isYjKZ5Hyz6667Ti5wHBQUhMbGRphMJkyZMgXnzp2T56u7u1uuBxcUFCSbsoigp7e3F3Fxcejo6EBUVBROnz6NCRMm4IMPPsC8efPQ2tqKzs5OpKeny26ZAQEBSEhIwL59+1BcXCyPw8vLCw0NDfDz80NYWBi8vb1RWFiIvr4+zJo1CzExMYiIiMCFCxfg5+eHvLw8ue7Z4cOHcf78eUyZMgULFy5ESUkJAgMDcfbsWfj7++PixYs4evQo5s6dK5tM+Pv7o7S0FJMnT4a/v79caiAhIQGVlZW49dZbkZ6ejmuuuQaNjY34xje+galTp+LJJ5/EzJkzMWvWLDz44IPo6OjAnj17YLVa4ePjg4SEBJw5cwaTJ09Gc3MzMjIysHv3bvz1r3/FjBkzMHHiRNx999147bXXcPjwYdkZcO7cuZgzZw6Kiorw7LPPwmQyYdq0aTJj1tvbi9raWqSkpCA7Oxv79u1DdHQ0fvzjH6OgoABFRUVYu3Yt9uzZgzvvvBPV1dVyDtaWLVuwbNkyAFpgctddd8lFvZcsWSLXz+vq6pLzuiIjI9HS0gJ/f3889NBDMrtnNpvR2dmJd955B8ePH0dqaireeustJCQkyNLj/Px8dHV1ycYjCxcuxDPPPIPo6GgcOHAAzz//vMzIiQBfZH7Ez/Ty5ctlZ8mQkBAZEKidCcXvA0FdpFkfNG7ZsgUPPfSQDBrUDFdISAhyc3NRVFSERx991CFQs1gsaGtrk5kwowYd4rzom2To28PrM07qOIBLjT5EVlD8PtMHTWaz2aHkUR9Iqr8rjX6v6teSM5vNMvjWZxXVgFdfRqjftj5bppajqsetbsdobTSjr8W5HUx2jIiIyMiIrJNmt9vfA/DeSGzLU7nzh1d/gSL+yOvLXtTyGpvNhp07d+IHP/iBvPgV5TydnZ3o6uqS5Yrz58/Hzp07UVZWhrvuugvNzc04d+4coqOjsX//fsTHx8Pf3x/h4eE4deoUpkyZgp6eHrS1taGlpQVhYWE4f/48wsLC0NfXh6ioKPT09MiMV3x8PCZPnoyysjKkpqairKwM5eXlcp6Ot7c3goKCEBQUBC8vL4SFhaGtrQ3XXnstPvnkE1lyJrJ3jY2NKCsrw4wZM+Dn5yfLE6uqqtDR0QEfHx/ZAXLixInw9vaGyWSCzWaTgePcuXNRUVEhy0Fra2tx5swZeHt7IzAwED09PTCbzYiKioK3tzeCg4MRGBiIsLAwHDhwAL29vbjuuutw+PBh2Gw2HDt2DPX19ZgwYQK8vLxQUVGB6667DnPmzEFPTw8KCgoQEBAAQJt75+fnh7a2NlgsFqSmpqK8vBzHjx9Hc3MzJk2ahKqqKsyYMQNFRUWoqanB4sWLERERgZ6eHpw7dw4LFizAK6+8gpkzZ8qGLRcvXsTbb7+Nvr4+XLhwAcnJybjxxhtx9OhRuQbavHnzZIA4b948REVFoaWlBRMnTkRYWJhsFhMVFYXbbrsNTz/9NK699lpMnjwZ06dPx4ULF/ClL30JAHDw4EEcPXoUJSUluPXWW9Ha2oqDBw/CYrHgz3/+M4BLF8SvvfaaXGogKCgIiYmJ2LlzJ/z9/TF79mzZhCQsLAzz5s1DV1cXwsLC0NXVhYkTJ+Jb3/oWmpqaUF1dLTtWnjhxwmFdth07duDNN99Ed3e3XDagsbER69atQ3V1NQoKChAREYHq6mp0dHSguroa5eXlyM/Ph5+fnyy5TElJwV//+le0tLRg0aJFDj9rokyyoKBAltVu2LABbW1tco5WREQEOjs7ZXMUi8WCxMRElJaWYufOnfjOd76D4OBgVFVVYfHixaiqqpKLZqtBDXBp7lZcXJz8uRZE6Zto6uHqd4aaRXvuuefkHDAROKSlpTk8T810iTJP9fH6bJ5R5kzdjv53nVE1gBoQLlmyBOnp6Q4NVfTdBNXALy4uDrm5uTKg08/bEscusllGzUdEVk4thdSPOS8vD3Fxcf2WItD/HteXbOp/x4vX1WhtNP1r6OqDPGbMiIhosEYkSLtaDHUugNqgQL8ds9nscBEh/sCLxgG///3vUVhYiPvuuw+ffvopvvvd76KxsRFpaWkICQlBXV2dbOTQ19eH2bNn4+OPP0ZaWhqOHz+OiIgIpKWlIScnBz/4wQ8AaIsJf/LJJ7jmmmvw0UcfITIyUq43Vl9fj5qaGsyfPx9msxkRERFobGxEeHg4UlNTERoaiuDgYJw+fRrd3d2orq7GvHnz5Ny5f/3rX5g2bRoWLFiATz/9FJMmTcLnPvc5/O1vf8PJkycRFBSEO+64Q3bCmzJlCvbv34/Q0FDU19djyZIl2LFjh1xoWwQhx48fR2BgIC5evIiYmBh0dXUhPDwcJ0+exKRJk7BkyRL87//+L1JTU+Hr64uDBw/K7Ia3t7fMJEZERKC8vByTJ0+WjViWLl2KP/7xj6irq5OdJRcvXizXOvPx8cHf//53tLe3IywsDAsXLgSgtd+/4YYb8PHHH+Pmm29GeXk5CgsLERERga6uLhQVFcFkMiEuLg49PT2YMmUKCgsLYbVacc0118BkMiEqKgohISH4xz/+gZtuuglr1qxBcXExPv30U3zpS1+SJaHTp09HeXk51q5dC5PJJDNtdXV1qK2tRUJCAj772c/imWeewUMPPYRly5Zh5cqV2LVrF15//XUcOnQIoaGhiIqKwttvvw0ACA0NxfXXXy87G8bHx+OBBx7Arl27MHnyZGRnZ+P73/8+/P39sXjxYogS5ezsbGRmZgKALCksKCiQi1lPnz4dqampcs7fU089hZiYGFRVVckFwW+99VbEx8fDZrMhNzcX+/btw+zZs7Fy5Uo5f+/06dN4/fXX8f3vfx/x8fGYMmUKSktLZemlv7+/XO/NZDKhuLgYsbGxKCkpkUHDww8/jPr6eplZKi4uRnJyMiorK/H+++9jxYoVqK6uxuuvv46vf/3rKC8vR1VVlSxN3bJlC9atW4fExEQ5XhFUqMGCmA/3wgsvID4+3qEcUz1HaWlpDpkb/YW/aMaRkpKChISEftmiyspKmblTy+pEEKjfrro+mLhdvw6Z0aLUzsr6RHZOzdTZbDa51Ia6TQAO2xUZxtLSUrkEgfoBlijl3Lx5s8yuGgU84pyrHRf1j9E3/DD6vSz2qe8qqY5FfY44NhEIu9tpcaSbUhER0dWBQdplMNAfZrPZ7HAxpXYY+9rXvoZXXnkFU6dORUJCglysVkycFx3rKioqcPDgQVx33XU4fvw4HnjgAezduxc1NTW49dZbZWmYuLhduXIlEhISsHPnTjQ2NmLWrFkoLS2Fv78/pkyZgpaWFtTX1yMoKEh+ei+yb83NzXKe0KxZs1BXV4fi4mKEhoZixYoVaG9vR2lpKY4cOYKEhATk5ubigQceQGFhIerq6tDW1oaenh50dXUhKioKs2fPlmVMkyZNwn333YcPPvgAs2bNwsKFC2G329Ha2gpvb2+sWLECt99+O1555RWEhYWhp6dHzl+bMWMGLly4gKamJtx+++2yJDQyMhI+Pj5obW1FZGQkzGYzTpw4AZPJBF9fX9TW1uLQoUOYMWMGMjIyUFhYCB8fH5w6dQoNDQ1Yv349du/ejc7OTmRmZmL+/PnYtGkTfHx8cPjwYRw8eBCzZs2Cr68vQkND0dDQgGnTpmHevHkICAjAggULcOzYMYSGhmLy5Mk4evQoJkyYgGXLluHw4cPYt28fAgICsHDhQrz66qvYv38/Zs6ciaKiIiQmJiI0NBQ1NTWYMWMGgoOD5bIMN910EzZt2gRAWyB61apVCAwMxPHjx5GUlITo6Gikpqbi73//O+6++25ER0dj6dKlqKurg7+/Pw4fPoz6+nr09PTgkUceQWdnJ5KTk7Fz504sWrQIR48exdSpUwEAhYWFKCwsxPTp05GTk4OEhAQsWLBAlgMuX74c2dnZ6OnpkWuezZ49G6tXr5YlhCIgE3PExMV1UlISYmJi8P777wOAXHC6trYWVqtVjmHatGkAtCye6KBos9nQ1tYGAGhvb8eZM2ewfPlyuU4dAOzcuVOuh9bU1IScnBzs2rULCQkJqK6uxuTJk5GVlYW5c+diy5YtSE9Pl0HVzJkzHUoogUtzxcTPaG5uLsrLy5GamoqUlBT5AYradVMICQlx6JwoAkZxAa9mwUQwppYJ6ksTRaCkz2aJ+9VyS/38N31WXz0+EQCpAZ0IBtPT0/vN+RIBqX6b6nbFca1bt042SDEanwi89Atlq/Px1A+31O6UcXFx8nwC/ReYVrNvgtr+X5xntTumOobOzk55DsT/+mY0eoMpfyQiIhIYpHkAcWGjfnodGRmJ7OxsrF+/Ho888ggsFotsNCJKIdXnNzQ0yIDg97//PRITEzFnzhy0tbUhJCTEoUlEQECAzITMmzcPcXFxuPXWWwFoF7oHDx6UmZPU1FS0t7fj17/+NR544AFZyhYTE4OEhAS8++67uPvuuwFoGTrxdX19PX77298iOjoaJpMJhYWFOHHihLxQvummm9DY2Ija2losXrwYixcvxv79+1FbW4vQ0FBcvHgR119/PZKTk1FTU4O0tDQ0NDTg0KFDeOONNzBv3jw8/PDDKCgowBNPPIH6+nps3LgRwcHB2LFjB+6++240Njbi6NGj6O3txcqVK3HgwAE0NDRg+vTp6O3txbRp09Db24tvfOMbCAgIwAcffIDAwEA0NTXBbrfDarUiPj4eYWFh+OIXv4iXX35ZzoN76KGH0NXVhddffx0zZszA4sWLZbBYWVmJuLg4VFdX4+zZs/D19ZXdG+Pj41FXV4epU6ciIyMDM2fORGBgIHx8fABABnidnZ244447kJubK+frTZo0CQDkwtzLli3Dyy+/jOjoaFkK+v7772Pv3r2YOnUqli1bhjlz5uDnP/+5XONr165diIqKQmpqqsyQBQcHy4DHbDZj7ty52L17N06ePInKykqcOXMGGRkZyM/Px7FjxzBt2jS8++67OHjwIEwmE6qrq7F27VoEBARg6tSpmDp1KqZPn45//vOfyM3NRVJSErKysrBq1SqkpaVh69atqK2thdlsxs6dO/H0009j5cqVuOeee2S2SZT9PfTQQ6isrERISAiWL18ut6fOC7NarTh+/Dh8fX1l8JednY2lS5ciMTER69evlz8rYmHvm266SXa2bGxsxGc+8xksWbIEkZGRiIqKwuuvv46AgACkpqY6ZL5E2eXixYtlZm3VqlWIiYnBmTNnkJaWJoMEcWEuLui7urpkIJWWlia7G6ot/cXPswha6urqcObMGcTFxckgRhClggAc1lID4JCdU5cDUTN3zpp4WCwWh8Ww1YydWIxbbXwSFxeH4uJih3JLV8QSA2q5pX586nw+MYasrCzZpEXt7qgGQOp29OfDZrNh06ZNcs6ffp02dZ6cCND0AZiYYwdcCticra+mfx1GC0spiYjGJwZpHkS/sKt6oQS4Lp9UP0kXXeDUBiUiKMvNzUVXV5e8cHj00Uflp/7ik/JJkyYhPj5etqa32WyyQYUonVuxYgXmzJmDGTNm4J133sE111wDq9Uq266fPn0aPj4++OijjzBt2jT85Cc/kRmR7du3o6amRnZja25uRk1NjQzcFi1ahDNnzuD8+fP43e9+h2XLliEsLAxhYWG48847sXPnThQVFaG9vR3Lly/H6dOncffddyMkJARvvPEGampqsH37dqSmpsoAtL29HbGxsfjc5z6H7OxsLF68GPPmzZNzsp588knMnTsXixYtwubNm/GlL30JLS0t+Na3voUjR47g8OHDmDt3Lvz8/FBaWop9+/bh9OnTmDVrlmzmsmPHDlRVVSEwMBAzZ87EunXrZOfKsLAw1NfXY+LEiQgJCUFA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\n",
      "text/plain": [
       "<Figure size 1080x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制星空图\n",
    "# 绘制所有单词向量的二维空间投影\n",
    "fig = plt.figure(figsize = (15, 10))\n",
    "ax = fig.gca()\n",
    "ax.set_facecolor('white')\n",
    "ax.plot(X_reduced[:, 0], X_reduced[:, 1], '.', markersize = 1, alpha = 0.3, color = 'black')\n",
    "\n",
    "\n",
    "# 绘制几个特殊单词的向量\n",
    "words = ['孙权', '刘备', '曹操', '周瑜', '诸葛亮', '司马懿','汉献帝']\n",
    "\n",
    "# 设置中文字体 否则乱码\n",
    "zhfont1 = matplotlib.font_manager.FontProperties(fname='./华文仿宋.ttf', size=16)\n",
    "for w in words:\n",
    "    if w in word2ind:\n",
    "        ind = word2ind[w]\n",
    "        xy = X_reduced[ind]\n",
    "        plt.plot(xy[0], xy[1], '.', alpha =1, color = 'orange',markersize=10)\n",
    "        plt.text(xy[0], xy[1], w, fontproperties = zhfont1, alpha = 1, color = 'red')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e426cb9e",
   "metadata": {},
   "source": [
    "## 类比关系实验"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "id": "2c57599f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('玄德', 0.643948495388031),\n",
       " ('司马懿', 0.6239533424377441),\n",
       " ('周瑜', 0.6017313003540039),\n",
       " ('孙权', 0.5897544026374817),\n",
       " ('黄忠', 0.5886633992195129),\n",
       " ('魏延', 0.5878092646598816),\n",
       " ('徐晃领', 0.5841192603111267),\n",
       " ('马超', 0.5796191692352295),\n",
       " ('孔明', 0.5754334926605225),\n",
       " ('张飞', 0.5729295611381531)]"
      ]
     },
     "execution_count": 164,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 曹操－魏＝？－蜀\n",
    "words = model.wv.most_similar(positive=['曹操', '蜀'], negative=['魏'])\n",
    "words"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "id": "d1187b7b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('司马懿', 0.896717369556427),\n",
       " ('周瑜', 0.8766887187957764),\n",
       " ('孟获', 0.8697741031646729),\n",
       " ('马超', 0.8657938838005066),\n",
       " ('吕布', 0.8624336123466492),\n",
       " ('孙权', 0.8613234162330627),\n",
       " ('姜维', 0.8608421087265015),\n",
       " ('袁绍', 0.8471964597702026),\n",
       " ('魏延', 0.829258918762207),\n",
       " ('钟会', 0.8280872702598572)]"
      ]
     },
     "execution_count": 163,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 玄德－孔明＝？－曹操\n",
    "words = model.wv.most_similar(positive=['玄德', '曹操'], negative=['孔明'])\n",
    "words"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2494a8a9",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "977c89d7",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
